Function at 0x100edae0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [esp + 0xc]
sub esp, 0x10c
push ebx
xor ebx, ebx
push ebp
push esi
cmp ecx, ebx
push edi
je 0x100edaf7
mov dword [ecx + 0x20], ebx
mov eax, dword [esp + 0x120]
cmp eax, ebx
je 0x100ef125
cmp ecx, ebx
je 0x100ef125
xor esi, esi
xor edi, edi
push 1
mov dword [0x1029b998], eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], edi
call fcn.100ef340
mov eax, dword [0x1029b99c]
add esp, 4
cmp eax, ebx
je 0x100ef125
cmp eax, 0x15
je 0x100edb72
cmp eax, 0x16
je 0x100edb72
cmp eax, 0x17
je 0x100edb72
cmp eax, 0x18
jne 0x100edb94
cmp esi, ebx
jne case.0x100ee85e.16
mov esi, eax
push 1
mov dword [esp + 0x84], esi
call fcn.100ef340
mov eax, dword [0x1029b99c]
add esp, 4
jmp 0x100edb3c
cmp edi, ebx
jne case.0x100ee85e.16
mov edi, eax
push 1
mov dword [esp + 0x88], edi
call fcn.100ef340
mov eax, dword [0x1029b99c]
add esp, 4
jmp 0x100edb3c
cmp eax, 0x19
jne case.0x100ee85e.16
cmp dword [0x1029b994], 0x10
jg case.0x100ee85e.16
mov eax, dword [0x1029b998]
push 0x1029b894
mov dword [esp + 0x8c], eax
call fcn.100fbfd6
add esp, 4
cmp edi, 0x15
jne 0x100edbe7
push 0x1029b894
lea ecx, [esp + 0x94]
push str.REP__s
push ecx
call fcn.100f1959
add esp, 0xc
or ebp, 0xffffffff
jmp 0x100edc5a
cmp edi, 0x16
jne 0x100edc0b
push 0x1029b894
lea edx, [esp + 0x94]
push str.REPE__s
push edx
call fcn.100f1959
add esp, 0xc
or ebp, 0xffffffff
jmp 0x100edc5a
cmp edi, 0x17
jne 0x100edc2f
push 0x1029b894
lea eax, [esp + 0x94]
push str.REPNE__s
push eax
call fcn.100f1959
add esp, 0xc
or ebp, 0xffffffff
jmp 0x100edc5a
or ebp, 0xffffffff
mov edi, 0x1029b894
mov ecx, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x90]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push ebx
call fcn.100ef340
add esp, 4
lea eax, [esp + 0xb4]
mov ecx, 3
mov dword [eax - 4], ebx
mov dword [eax], ebx
mov dword [eax + 4], ebp
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], ebx
add eax, 0x24
dec ecx
jne 0x100edc6f
lea ecx, [esp + 0xb0]
push ecx
call fcn.100f0cd0
mov eax, dword [esp + 0xd4]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x100edcb4
or al, 0x80
mov dword [esp + 0x18], eax
mov eax, dword [0x1029b99c]
mov esi, 0x2c
cmp eax, 0x40
jne 0x100edd16
cmp dword [0x1029b994], esi
jne case.0x100ee85e.16
push ebx
call fcn.100ef340
lea edx, [esp + 0xd8]
push edx
call fcn.100f0cd0
mov eax, dword [0x1029b99c]
add esp, 8
cmp eax, 0x40
jne 0x100edd16
cmp dword [0x1029b994], esi
jne case.0x100ee85e.16
push ebx
call fcn.100ef340
lea eax, [esp + 0xfc]
push eax
call fcn.100f0cd0
mov eax, dword [0x1029b99c]
add esp, 8
cmp eax, 0xff
je case.0x100ee85e.16
cmp eax, ebx
jne case.0x100ee85e.16
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x7c], ebx
lea edi, [esp + 0x90]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x3c], ebx
repne scasb al, byte es:[edi]
mov eax, dword [0x100ffb78]
mov dword [esp + 0x30], 3
not ecx
dec ecx
cmp eax, ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x40], 0x100ffb78
je 0x100ef060
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x10]
mov al, byte [ecx]
cmp al, 0x26
jne 0x100ede3b
mov edi, dword [0x1029bd44]
mov ebx, 2
mov edx, 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x64], 4
mov al, byte [ecx + edx]
xor esi, esi
test al, al
je 0x100eddeb
cmp al, 0x3a
je 0x100edde7
cmp al, 0x2a
jne 0x100eddd4
mov al, byte [esp + esi + 0x90]
cmp al, 0x57
jne 0x100eddbb
mov ebx, 2
jmp 0x100edddd
cmp al, 0x44
jne 0x100eddc6
mov ebx, 4
jmp 0x100edddd
mov ebx, edi
neg ebx
sbb ebx, ebx
and ebx, 2
add ebx, 2
jmp 0x100eddde
cmp al, byte [esp + esi + 0x90]
jne 0x100edde7
inc esi
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100edda1
mov dword [esp + 0x14], ebx
mov al, byte [esp + esi + 0x90]
test al, al
jne 0x100ede01
mov al, byte [ecx + edx]
test al, al
je 0x100ede2e
cmp al, 0x3a
je 0x100ede2e
mov al, byte [ecx + edx]
test al, al
je 0x100ede15
cmp al, 0x3a
je 0x100ede15
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100ede08
cmp byte [ecx + edx], 0x3a
jne 0x100ee6f7
mov ebx, 4
inc edx
mov dword [esp + 0x14], ebx
jmp 0x100edd98
test esi, esi
je 0x100ee6f7
jmp 0x100edf65
cmp al, 0x24
jne 0x100edeff
xor ebx, ebx
mov edx, 1
mov dword [esp + 0x14], ebx
mov dword [esp + 0x64], 2
mov al, byte [ecx + edx]
xor esi, esi
test al, al
je 0x100edeb5
mov edi, dword [0x1029bd44]
cmp al, 0x3a
je 0x100edeb5
cmp al, 0x2a
jne 0x100edea2
mov al, byte [esp + esi + 0x90]
cmp al, 0x57
jne 0x100ede82
mov dword [esp + 0x64], 2
jmp 0x100edeab
cmp al, 0x44
jne 0x100ede90
mov dword [esp + 0x64], 4
jmp 0x100edeab
mov eax, edi
neg eax
sbb eax, eax
and eax, 2
add eax, 2
mov dword [esp + 0x64], eax
jmp 0x100edeac
cmp al, byte [esp + esi + 0x90]
jne 0x100edeb5
inc esi
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100ede65
mov al, byte [esp + esi + 0x90]
test al, al
jne 0x100eded3
mov al, byte [ecx + edx]
test al, al
je 0x100ede2e
cmp al, 0x3a
je 0x100ede2e
mov al, byte [ecx + edx]
test al, al
je 0x100edee7
cmp al, 0x3a
je 0x100edee7
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100ededa
cmp byte [ecx + edx], 0x3a
jne 0x100ee6f7
inc edx
mov dword [esp + 0x64], 4
jmp 0x100ede56
xor edi, edi
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x64], 4
mov dword [esp + 0x14], ebx
mov al, byte [ecx + esi]
cmp al, 0x2c
je 0x100edf25
test al, al
je 0x100edf25
mov al, byte [ecx + esi + 1]
inc esi
cmp al, 0x2c
jne 0x100edf18
mov eax, dword [esp + 0x68]
mov edx, esi
sub edx, edi
cmp edx, eax
jne 0x100edf49
add ecx, edi
push eax
push ecx
lea ecx, [esp + 0x98]
push ecx
call fcn.100fbc30
add esp, 0xc
test eax, eax
je 0x100edf5d
mov edx, dword [esp + 0x40]
lea edi, [esi + 1]
mov ecx, dword [edx + 0x10]
cmp byte [ecx + esi], 0
je 0x100edf5d
mov esi, edi
jmp 0x100edf11
cmp edi, esi
jg 0x100ee6f7
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x40]
mov dl, byte [ecx + 0xa]
test dl, dl
mov byte [esp + 0x8c], dl
je 0x100edfd1
cmp dl, 0x80
jae 0x100edfd1
mov al, byte [ecx + 0xb]
test al, al
je 0x100edfb4
cmp al, 0x80
jae 0x100edfb4
mov al, byte [ecx + 0xc]
test al, al
je 0x100edfa5
cmp al, 0x80
jae 0x100edfa5
mov dword [esp + 0x38], 3
jmp 0x100edfd9
mov esi, dword [esp + 0x30]
mov eax, 2
cmp esi, eax
jle 0x100edfc5
jmp 0x100edfc1
mov esi, dword [esp + 0x30]
mov eax, 1
cmp esi, eax
jle 0x100edfc5
mov dword [esp + 0x30], eax
cmp dword [esp + 0x38], eax
jge 0x100edfd9
mov dword [esp + 0x38], eax
jmp 0x100edfd9
mov dword [esp + 0x30], 0
mov al, byte [ecx + 9]
cmp al, 0x20
jne 0x100edfe9
mov ebx, 2
mov dword [esp + 0x14], ebx
cmp al, 1
je 0x100ee001
cmp al, 3
je 0x100ee001
cmp al, 8
je 0x100ee001
cmp al, 0x81
mov dword [esp + 0x44], 0
jne 0x100ee009
mov dword [esp + 0x44], 1
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x6c], ebp
jmp 0x100ee01c
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x6c]
test eax, eax
lea ecx, [eax + eax*8]
lea ecx, [esp + ecx*4 + 0xb0]
jne 0x100ee038
mov esi, edx
and esi, 0xff
jmp 0x100ee053
cmp eax, 1
jne 0x100ee048
mov eax, dword [esp + 0x40]
xor edx, edx
mov dl, byte [eax + 0xb]
jmp 0x100ee051
mov eax, dword [esp + 0x40]
xor edx, edx
mov dl, byte [eax + 0xc]
mov esi, edx
test esi, esi
je 0x100ee6cc
cmp esi, 0x80
jge 0x100ee6cc
mov eax, dword [ecx]
test eax, eax
je 0x100ee6d1
lea edi, [esi - 1]
cmp edi, 0x87
ja case.0x100ee85e.16
xor edx, edx
mov dl, byte [edi + 0x100ef1e4]
jmp dword [edx*4 + 0x100ef134]
cmp eax, 1
je 0x100ee09d
mov ebp, 4
mov dword [esp + 0x10], ebp
cmp esi, 4
jne 0x100ee0b4
mov eax, dword [ecx + 8]
test eax, eax
je 0x100ee0b4
cmp eax, 8
je 0x100ee0b4
or ebp, esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100ee0c9
cmp dword [ecx + 4], 1
jne 0x100ee0c9
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee0d4
mov ebx, dword [ecx + 4]
mov dword [esp + 0x14], ebx
cmp ebx, dword [ecx + 4]
jmp 0x100ee4e3
cmp eax, 1
je 0x100ee0ea
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
cmp ecx, 4
je 0x100ee0f9
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee103
mov ebx, ecx
mov dword [esp + 0x14], ebx
cmp ebx, ecx
jmp 0x100ee4e3
cmp eax, 1
jne 0x100ee11b
mov eax, dword [ecx + 8]
test eax, eax
je 0x100ee124
cmp eax, 8
je 0x100ee124
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
cmp ecx, 2
je 0x100ee0f9
jmp 0x100ee0f2
cmp eax, 1
jne 0x100ee140
mov eax, dword [ecx + 8]
cmp eax, 2
je 0x100ee149
cmp eax, 8
je 0x100ee149
mov ebp, 4
mov dword [esp + 0x10], ebp
cmp dword [ecx + 4], 2
jmp 0x100ee409
cmp eax, 1
jne 0x100ee164
mov eax, dword [ecx + 8]
cmp eax, 1
je 0x100ee16d
cmp eax, 8
je 0x100ee16d
mov ebp, 4
mov dword [esp + 0x10], ebp
cmp dword [ecx + 4], 1
jmp 0x100ee409
cmp eax, 9
jne 0x100ee18f
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 8
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 9
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0xa
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee1d2
cmp eax, 1
je 0x100ee1d2
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100ee1e7
cmp dword [ecx + 4], 1
jne 0x100ee1e7
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee4d6
jmp 0x100ee4cf
cmp eax, 0xc
je 0x100ee207
cmp eax, 1
je 0x100ee207
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 1
jmp 0x100ee409
cmp eax, 0xc
je 0x100ee22d
cmp eax, 1
je 0x100ee22d
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 2
jmp 0x100ee409
cmp eax, 0xc
je 0x100ee253
cmp eax, 1
je 0x100ee253
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 4
jmp 0x100ee409
cmp eax, 1
je 0x100ee253
jmp 0x100ee24a
cmp eax, 0xc
je 0x100ee280
cmp eax, 1
je 0x100ee280
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x100ee293
cmp ecx, 4
je 0x100ee293
or ebp, 0x10
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 9
je 0x100ee2a1
or ebp, 1
mov dword [esp + 0x10], ebp
and dword [esp + 0x18], 0x7f
jmp case.0x100ee088.43
cmp eax, 0xc
je 0x100ee3fb
cmp eax, 0xa
je 0x100ee3fb
jmp 0x100ee3f2
cmp eax, 0xc
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee2e3
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x100ee2f6
cmp ecx, 6
je 0x100ee2f6
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee308
mov ebx, 4
mov dword [esp + 0x14], ebx
jmp case.0x100ee088.43
cmp ebx, 4
jmp 0x100ee4e3
cmp eax, 0xc
je 0x100ee31e
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x100ee331
cmp ecx, 6
je 0x100ee331
or ebp, 0x10
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 7
jmp 0x100ee298
cmp eax, 0xc
je 0x100ee349
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 6
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee373
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [ecx + 4]
mov ecx, dword [0x1029bd48]
test ecx, ecx
jne 0x100ee38a
cmp eax, 1
jle 0x100ee38a
cdq
sub eax, edx
sar eax, 1
test eax, eax
je case.0x100ee088.43
cmp eax, ebx
jmp 0x100ee4e3
cmp eax, 0xc
je 0x100ee3a7
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 2
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee3d1
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 4
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee3fb
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 8
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee425
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, 0xa
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0xc
je 0x100ee44f
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [ecx + 4]
test eax, eax
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0xc
jne 0x100ee481
cmp dword [ecx + 0x10], 6
jne 0x100ee481
cmp dword [ecx + 8], 0xffffffff
jne 0x100ee481
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x100ee481
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100ee48a
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee4d6
jmp 0x100ee4cf
cmp eax, 0xc
jne 0x100ee4af
cmp dword [ecx + 0x10], 7
jne 0x100ee4af
cmp dword [ecx + 8], 0xffffffff
jne 0x100ee4af
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x100ee4af
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100ee4b8
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
je 0x100ee4cb
test eax, eax
je 0x100ee4cb
or ebp, 0x40
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee4d6
mov ebx, dword [ecx + 4]
mov dword [esp + 0x14], ebx
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100ee088.43
cmp ecx, ebx
je case.0x100ee088.43
jmp 0x100ee69f
cmp eax, 0x28
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0x29
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0x29
je 0x100ee522
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee534
mov ebx, 4
mov dword [esp + 0x14], ebx
jmp case.0x100ee088.43
cmp ebx, 4
je case.0x100ee088.43
or ebp, 0x10
jmp 0x100ee6a2
cmp eax, 0x34
je 0x100ee553
mov ebp, 4
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 5
jmp 0x100ee298
cmp eax, 0x29
jne 0x100ee56a
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100ee573
mov ebp, 4
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 0xa
jmp 0x100ee298
cmp eax, 0x29
je 0x100ee293
mov ebp, 4
jmp 0x100ee28f
cmp eax, 0xc
jne 0x100ee5a7
mov eax, dword [ecx + 0x10]
test eax, eax
jge 0x100ee5a7
mov eax, dword [ecx + 8]
test eax, eax
jl case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0x29
je 0x100ee5bf
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 0x14]
cmp ecx, 0xffffff80
jl 0x100ee5d0
cmp ecx, 0x7f
jle case.0x100ee088.43
or ebp, 0x80
jmp 0x100ee6a2
cmp eax, 0x29
jne 0x100ee5f5
cmp dword [ecx + 0x14], 1
je case.0x100ee088.43
mov eax, dword [ecx + 0x18]
test eax, eax
jne case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, 0x29
je 0x100ee60d
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 0x14]
cmp ecx, 0xffffff80
jl 0x100ee621
cmp ecx, 0xff
jle case.0x100ee088.43
or ebp, 0x80
jmp 0x100ee6a2
cmp eax, 0x29
je 0x100ee637
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jl 0x100ee646
cmp ecx, 0xffff
jle case.0x100ee088.43
or ebp, 0x80
jmp 0x100ee6a2
cmp eax, 0x35
je 0x100ee65c
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee66b
mov ebx, 2
mov dword [esp + 0x14], ebx
jmp case.0x100ee088.43
cmp ebx, 2
je case.0x100ee088.43
jmp 0x100ee69f
cmp eax, 0x35
je case.0x100ee088.43
mov ebp, 4
jmp 0x100ee6a2
cmp eax, esi
je 0x100ee68b
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100ee69a
mov ebx, 4
mov dword [esp + 0x14], ebx
jmp case.0x100ee088.43
cmp ebx, 4
je case.0x100ee088.43
or ebp, 0x20
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 0x80
je 0x100ee6b4
or ebp, 1
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x100ee6f7
mov eax, dword [esp + 0x6c]
inc eax
cmp eax, 3
mov dword [esp + 0x6c], eax
jl 0x100ee015
jmp 0x100ee6dc
cmp dword [ecx], 0
je 0x100ee6d8
or ebp, 2
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x100ee6f7
mov eax, dword [esp + 0x12c]
test eax, eax
jle 0x100ee70b
dec eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x40]
add eax, 0x14
mov dword [esp + 0x40], eax
cmp dword [eax], 0
jne 0x100edd6b
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100ef060
test ebp, ebp
jne case.0x100ee85e.16
mov edi, dword [esp + 0x40]
xor eax, eax
mov dword [esp + 0x20], eax
xor edx, edx
mov ecx, dword [edi]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x48], edx
mov dword [esp + 0x2c], eax
mov eax, dword [edi + 4]
mov dword [esp + 0x44], eax
and eax, ecx
xor ebx, ebx
mov dword [esp + 0x20], eax
mov bl, byte [edi + 8]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x4c], edx
dec ebx
mov dword [esp + 0x50], edx
cmp eax, ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x58], 0xffffffff
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], ecx
je 0x100ee788
inc ebx
mov dl, byte [edi + 9]
cmp dl, 1
mov byte [esp + 0x63], dl
je 0x100ee7c0
cmp dl, 3
je 0x100ee7c0
cmp dl, 0x81
je 0x100ee7c0
cmp dl, 8
jne 0x100ee7e0
mov eax, dword [esp + 0x14]
cmp eax, ebp
je case.0x100ee85e.16
cmp eax, 1
jle 0x100ee7b8
or byte [esp + ebx + 0x20], dl
mov al, byte [esp + ebx + 0x48]
or al, 8
jmp 0x100ee7dc
mov eax, dword [esp + 0x14]
cmp eax, ebp
je case.0x100ee85e.16
cmp eax, 1
jle 0x100ee7d6
or byte [esp + ebx + 0x20], 1
mov al, byte [esp + ebx + 0x48]
or al, 1
mov byte [esp + ebx + 0x48], al
mov al, byte [edi + 0xd]
and al, 0xf0
cmp al, 0xe0
jne 0x100ee7fb
xor ecx, ecx
mov dword [esp + 0x1c], 1
mov cl, byte [esp + 0x46]
mov dword [esp + 0x5c], ecx
xor ecx, ecx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x6c], ecx
jmp 0x100ee819
mov edi, dword [esp + 0x40]
mov dl, byte [esp + 0x63]
xor ebp, ebp
lea eax, [ecx + ecx*8]
cmp ecx, ebp
lea eax, [esp + eax*4 + 0xb0]
jne 0x100ee82e
xor ecx, ecx
mov cl, byte [edi + 0xa]
jmp 0x100ee83f
cmp ecx, 1
jne 0x100ee83a
xor ecx, ecx
mov cl, byte [edi + 0xb]
jmp 0x100ee83f
xor ecx, ecx
mov cl, byte [edi + 0xc]
cmp ecx, ebp
je 0x100eee49
lea esi, [ecx - 1]
cmp esi, 0x87
ja case.0x100ee85e.16
xor ecx, ecx
mov cl, byte [esi + 0x100ef2ac]
jmp dword [ecx*4 + 0x100ef26c]
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], 1
cmp ecx, 8
jge case.0x100ee85e.3
mov dl, cl
mov cl, byte [esp + ebx + 0x21]
shl dl, 3
or cl, dl
jmp 0x100eed3c
mov ecx, dword [eax + 8]
cmp ecx, 8
jge case.0x100ee85e.3
mov al, cl
mov cl, byte [esp + ebx + 0x20]
or cl, al
mov al, byte [esp + ebx + 0x48]
or al, 7
mov byte [esp + ebx + 0x20], cl
mov byte [esp + ebx + 0x48], al
jmp case.0x100ee85e.3
mov eax, dword [eax + 0x1c]
cmp eax, 0xffffffff
je case.0x100ee85e.3
cmp eax, 3
je case.0x100ee85e.3
mov dword [esp + 0x58], eax
jmp case.0x100ee85e.3
mov ecx, dword [eax]
mov dword [esp + 0x30], 1
cmp ecx, 0xc
je case.0x100ee85e.5
mov cl, byte [esp + ebx + 0x21]
mov dl, byte [esp + ebx + 0x49]
mov esi, dword [eax + 8]
or cl, 0xc0
or dl, 0xc0
cmp esi, 8
mov byte [esp + ebx + 0x21], cl
mov byte [esp + ebx + 0x49], dl
jge case.0x100ee85e.3
or cl, byte [eax + 8]
or dl, 7
mov byte [esp + ebx + 0x49], dl
mov byte [esp + ebx + 0x21], cl
jmp case.0x100ee85e.3
mov esi, dword [eax + 0x10]
mov edi, dword [eax + 0x14]
mov ebp, dword [eax + 0x18]
mov edx, 1
test esi, esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x78], edi
mov dword [esp + 0x70], ebp
jge 0x100ee96a
mov ecx, dword [eax + 8]
test ecx, ecx
jge 0x100ee96a
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x34], 4
cmp eax, 0xffffffff
je 0x100ee950
cmp eax, 3
je 0x100ee950
mov dword [esp + 0x58], eax
mov cl, byte [esp + ebx + 0x21]
mov al, byte [esp + ebx + 0x49]
or cl, 5
or al, 0xc7
mov byte [esp + ebx + 0x21], cl
mov byte [esp + ebx + 0x49], al
jmp case.0x100ee85e.3
mov ecx, dword [eax + 8]
test ecx, ecx
jge 0x100eea18
cmp esi, 4
je 0x100eea18
mov dl, byte [esp + ebx + 0x49]
or dl, 0xc0
test edi, edi
mov byte [esp + ebx + 0x49], dl
jne 0x100ee996
test ebp, ebp
jne 0x100ee996
cmp esi, 5
jne 0x100ee9d9
test byte [esp + 0x130], 1
je 0x100ee9c6
cmp edi, 0xffffff80
jl 0x100ee9ad
cmp edi, 0x80
jl 0x100ee9b1
test ebp, ebp
je 0x100ee9c6
mov cl, byte [esp + ebx + 0x21]
mov dword [esp + 0x34], 1
or cl, 0x40
mov byte [esp + ebx + 0x21], cl
jmp 0x100ee9d9
mov cl, byte [esp + ebx + 0x21]
mov dword [esp + 0x34], 4
or cl, 0x80
mov byte [esp + ebx + 0x21], cl
cmp esi, 8
jge 0x100eea0c
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x100ee9f3
cmp ecx, dword [esi*8 + 0x100ffb38]
je 0x100ee9f3
mov dword [esp + 0x58], ecx
mov cl, byte [eax + 0x10]
mov al, byte [esp + ebx + 0x21]
or al, cl
or dl, 7
mov byte [esp + ebx + 0x21], al
mov byte [esp + ebx + 0x49], dl
jmp case.0x100ee85e.3
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x58], edx
jmp case.0x100ee85e.3
cmp esi, 5
mov dword [esp + 0x68], edx
jne 0x100eea3c
test ecx, ecx
jl 0x100eea3c
cmp dword [eax + 0xc], edx
jne 0x100eea3c
test edi, edi
jne 0x100eea3c
test ebp, ebp
jne 0x100eea3c
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 5
mov esi, dword [eax + 8]
mov ecx, 4
cmp esi, ecx
jne 0x100eea59
cmp dword [eax + 0xc], edx
jg 0x100eea59
mov esi, dword [eax + 0x10]
mov dword [eax + 0x10], ecx
mov dword [eax + 8], esi
mov dword [eax + 0xc], edx
mov ecx, dword [eax + 0x10]
test ecx, ecx
jge 0x100eea84
mov ecx, dword [eax + 8]
test ecx, ecx
jl 0x100eea84
cmp dword [eax + 0xc], 2
jne 0x100eea84
cmp edi, 0xffffff80
jl 0x100eea84
cmp edi, 0x80
jge 0x100eea84
test ebp, ebp
jne 0x100eea84
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], edx
mov edx, dword [eax + 8]
mov esi, 4
cmp edx, esi
je case.0x100ee85e.16
mov ecx, dword [eax + 0x10]
test ecx, ecx
jge 0x100eeaa4
mov cl, byte [esp + ebx + 0x21]
or cl, 4
jmp 0x100eeaef
test edi, edi
jne 0x100eeab8
test ebp, ebp
jne 0x100eeab8
cmp ecx, 5
je 0x100eeab8
or byte [esp + ebx + 0x21], 4
jmp 0x100eeaf7
test byte [esp + 0x130], 1
je 0x100eeae8
cmp edi, 0xffffff80
jl 0x100eeacf
cmp edi, 0x80
jl 0x100eead3
test ebp, ebp
je 0x100eeae8
mov cl, byte [esp + ebx + 0x21]
mov dword [esp + 0x34], 1
or cl, 0x44
mov byte [esp + ebx + 0x21], cl
jmp 0x100eeaf7
mov cl, byte [esp + ebx + 0x21]
or cl, 0x84
mov byte [esp + ebx + 0x21], cl
mov dword [esp + 0x34], esi
mov cl, byte [esp + ebx + 0x49]
or cl, 0xc7
mov byte [esp + ebx + 0x49], cl
mov ecx, dword [eax + 0xc]
cmp ecx, 2
jne 0x100eeb13
mov cl, byte [esp + ebx + 0x22]
or cl, 0x40
jmp 0x100eeb2c
cmp ecx, esi
jne 0x100eeb20
mov cl, byte [esp + ebx + 0x22]
or cl, 0x80
jmp 0x100eeb2c
cmp ecx, 8
jne 0x100eeb30
mov cl, byte [esp + ebx + 0x22]
or cl, 0xc0
mov byte [esp + ebx + 0x22], cl
mov cl, byte [esp + ebx + 0x4a]
or cl, 0xc0
cmp edx, 8
mov byte [esp + ebx + 0x4a], cl
jge 0x100eeb58
test edx, edx
jge 0x100eeb47
mov dword [eax + 8], esi
mov dl, byte [eax + 8]
shl dl, 3
or byte [esp + ebx + 0x22], dl
or cl, 0x38
mov byte [esp + ebx + 0x4a], cl
mov ecx, dword [eax + 0x10]
cmp ecx, 8
jge 0x100eeb9f
test ecx, ecx
jge 0x100eeb6b
mov dword [eax + 0x10], 5
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x100eeb83
mov edx, dword [eax + 0x10]
cmp ecx, dword [edx*8 + 0x100ffb38]
je 0x100eeb83
mov dword [esp + 0x58], ecx
mov al, byte [eax + 0x10]
mov cl, byte [esp + ebx + 0x22]
or cl, al
mov al, byte [esp + ebx + 0x4a]
or al, 7
mov byte [esp + ebx + 0x22], cl
mov byte [esp + ebx + 0x4a], al
jmp case.0x100ee85e.3
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], ecx
jmp case.0x100ee85e.3
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jne 0x100eebd5
mov cl, byte [edi + 0xb]
test cl, cl
jne case.0x100ee85e.16
cmp dl, 2
je 0x100eebcc
cmp dl, 3
jne case.0x100ee85e.16
mov ecx, 4
mov dword [esp + 0x14], ecx
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x18]
cmp dl, 2
mov dword [esp + 0x5c], esi
mov dword [esp + 0x38], edi
je 0x100eebf6
cmp dl, 3
je 0x100eebf6
mov dword [esp + 0x1c], ecx
jmp case.0x100ee85e.3
cmp ecx, 1
jle 0x100eec2a
test byte [esp + 0x130], 2
je 0x100eec2a
cmp esi, 0xffffff80
jl 0x100eec12
cmp esi, 0x80
jl 0x100eec16
cmp edi, ebp
je 0x100eec2a
mov al, byte [esp + ebx + 0x20]
mov dword [esp + 0x1c], 1
or al, 2
mov byte [esp + ebx + 0x20], al
jmp 0x100eec2e
mov dword [esp + 0x1c], ecx
or byte [esp + ebx + 0x48], 2
jmp case.0x100ee85e.3
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 0x14]
cmp ecx, 2
jne 0x100eec53
mov ecx, dword [esp + 0x5c]
shl edx, 0x10
and ecx, 0xffff
or edx, ecx
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x38]
or ecx, eax
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], eax
jmp case.0x100ee85e.3
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], 2
jmp case.0x100ee85e.3
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x100eec9e
cmp ecx, 3
je 0x100eec9e
mov dword [esp + 0x58], ecx
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x34], 4
jmp case.0x100ee85e.3
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], 1
jmp case.0x100ee85e.3
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], 4
jmp case.0x100ee85e.3
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x78], ecx
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x34], 4
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x1c], 2
jmp case.0x100ee85e.3
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], 1
cmp ecx, 6
jge case.0x100ee85e.3
mov al, cl
mov cl, byte [esp + ebx + 0x21]
shl al, 3
or cl, al
mov al, byte [esp + ebx + 0x49]
mov byte [esp + ebx + 0x21], cl
or al, 0x38
mov byte [esp + ebx + 0x49], al
jmp case.0x100ee85e.3
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x100eedcf
cmp ecx, 5
je 0x100eedcf
cmp ecx, 6
jge 0x100eedb8
cmp ecx, 1
jne 0x100eeda3
mov edi, 0x10287aac
lea esi, [esp + 0x90]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x100eed96
test cl, cl
je 0x100eed92
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x100eed96
add esi, 2
add edi, 2
test cl, cl
jne 0x100eed72
xor ecx, ecx
jmp 0x100eed9b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je case.0x100ee85e.16
mov al, byte [eax + 8]
mov cl, byte [esp + ebx + 0x20]
shl al, 3
and cl, 0xc7
or al, cl
mov byte [esp + ebx + 0x20], al
jmp case.0x100ee85e.3
mov cl, byte [esp + ebx + 0x20]
mov al, byte [esp + ebx + 0x48]
and cl, 0xc7
and al, 0xc7
mov byte [esp + ebx + 0x20], cl
mov byte [esp + ebx + 0x48], al
jmp case.0x100ee85e.3
mov byte [esp + 0x20], 0xf
mov byte [esp + 0x48], 0xff
mov ebx, 1
mov edi, str.PUSH
lea esi, [esp + 0x90]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x100eee0e
test cl, cl
je 0x100eee0a
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x100eee0e
add esi, 2
add edi, 2
test cl, cl
jne 0x100eedea
xor ecx, ecx
jmp 0x100eee13
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x100eee25
mov al, byte [eax + 8]
or al, 0xf0
shl al, 3
mov byte [esp + 0x21], al
jmp 0x100eee32
mov cl, byte [eax + 8]
shl cl, 3
or cl, 0x81
mov byte [esp + 0x21], cl
mov byte [esp + 0x49], 0xff
mov ecx, dword [esp + 0x6c]
inc ecx
cmp ecx, 3
mov dword [esp + 0x6c], ecx
jl 0x100ee80f
mov eax, dword [esp + 0x80]
xor ebp, ebp
test eax, eax
mov eax, dword [esp + 0x128]
je 0x100eee69
mov byte [eax], pe_nt_image_headers32
mov byte [eax + 0x10], 0xff
mov ebp, 1
mov ecx, dword [esp + 0x14]
mov edx, 2
cmp ecx, edx
jne 0x100eee8a
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 9], 0x20
je 0x100eee8a
mov byte [eax + ebp], 0x66
mov byte [eax + ebp + 0x10], 0xff
inc ebp
cmp dword [esp + 0x64], edx
jne 0x100eee9a
mov byte [eax + ebp], 0x67
mov byte [eax + ebp + 0x10], 0xff
inc ebp
mov ecx, dword [esp + 0x58]
cmp ecx, 0xffffffff
je 0x100eeef2
test ecx, ecx
jne 0x100eeead
mov byte [eax + ebp], 0x26
jmp 0x100eeeec
cmp ecx, 1
jne 0x100eeeb8
mov byte [eax + ebp], 0x2e
jmp 0x100eeeec
cmp ecx, edx
jne 0x100eeec2
mov byte [eax + ebp], 0x36
jmp 0x100eeeec
cmp ecx, 3
jne 0x100eeecd
mov byte [eax + ebp], 0x3e
jmp 0x100eeeec
cmp ecx, 4
jne 0x100eeed8
mov byte [eax + ebp], 0x64
jmp 0x100eeeec
cmp ecx, 5
jne case.0x100ee85e.16
mov eax, dword [esp + 0x128]
mov byte [eax + ebp], 0x65
mov byte [eax + ebp + 0x10], 0xff
inc ebp
mov ecx, dword [esp + 0x34]
test ecx, ecx
jle 0x100eef46
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x30]
add edx, eax
mov eax, ecx
lea esi, [esp + 0x78]
lea edi, [esp + edx + 0x21]
add edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x70]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jne 0x100eef3f
mov ecx, dword [esp + 0x34]
lea edi, [esp + edx + 0x49]
mov edx, ecx
or eax, 0xffffffff
add edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jle 0x100eefd6
cmp ecx, 1
jne 0x100eef5e
mov eax, 0xffffff00
jmp 0x100eef6c
xor eax, eax
cmp ecx, 2
setne al
dec eax
and eax, 0xffff0000
mov esi, dword [esp + 0x5c]
mov edx, eax
and edx, esi
je 0x100eef82
cmp edx, eax
jne case.0x100ee85e.16
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
add edx, eax
mov eax, dword [esp + 0x30]
add edx, eax
mov eax, ecx
lea esi, [esp + 0x5c]
lea edi, [esp + edx + 0x21]
add edi, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x38]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x100eefcf
lea edi, [esp + edx + 0x49]
mov edx, ecx
or eax, 0xffffffff
add edi, ebx
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov ecx, edx
mov eax, dword [esp + 0x128]
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x68]
add ecx, edx
mov edx, dword [esp + 0x30]
add ecx, esi
add ecx, edx
lea edx, [ebx + ecx + 1]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x24], ebx
lea esi, [ebx + ebp]
add esi, edx
sub ecx, esi
lea esi, [edx + ebp]
test ebx, ebx
mov dword [eax + 0x28], ecx
mov dword [eax + 0x2c], esi
je 0x100ef0d3
mov eax, dword [esp + 0x124]
test eax, eax
je 0x100ef0ae
sub ecx, eax
cmp ebx, 1
mov dword [esp + 0x74], ecx
jne 0x100ef096
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100ef096
cmp ecx, 0xffffff80
jl 0x100ef03e
cmp ecx, 0x80
jl 0x100ef096
mov eax, dword [esp + 0x7c]
test eax, eax
jne case.0x100ee85e.16
test byte [esp + 0x18], 3
jne case.0x100ee85e.16
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x7c], 1
xor ebx, ebx
jmp 0x100edd31
mov eax, dword [esp + 0x88]
mov dword [0x1029b998], eax
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x120]
pop edi
pop esi
mov dword [edx + 0x20], 0
mov ecx, dword [0x1029b998]
pop ebp
sub eax, ecx
pop ebx
add esp, 0x10c
ret 0x14
mov ecx, ebx
lea esi, [esp + 0x74]
mov eax, ecx
lea edi, [esp + edx + 0x20]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100ef0d1
mov ecx, dword [esp + 0x3c]
or eax, 0xffffffff
mov esi, ecx
lea edi, [esp + edx + 0x48]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, esi
mov ebx, esi
and ecx, 3
rep stosb byte es:[edi], al
add edx, ebx
mov ecx, dword [esp + 0x128]
lea esi, [esp + 0x20]
lea eax, [ecx + ebp]
mov ecx, edx
mov ebx, ecx
mov edi, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
lea edi, [eax + 0x10]
mov eax, ecx
lea esi, [esp + 0x48]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
add edx, ebp
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x128]
pop edi
pop esi
pop ebp
mov dword [ecx + 0x20], edx
mov eax, edx
pop ebx
add esp, 0x10c
ret 0x14
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x10c
ret 0x14
mov ch, 0x22
add eax, dword [eax]
or ah, byte [ecx + 0x26960002]
add al, 0
inc edx
mov ecx, 0xc41a0002
add al, byte [eax]
std
loopne 0x100ff14e
add byte [edx], dl
and eax, dword [ebx]
add byte [edx - 0x30fffc99], al
imul eax, dword [ebx], 0x3233100
add byte [edi - 0x6efffc39], ah
int 3
add byte [eax + ebp - 0x48bbfffc], ch
add eax, dword [eax]
aam 0x22
add eax, dword [eax]
pushfd
int3
add eax, dword [eax]
and byte [edi + 3], 0
iretd