Function at 0x100e812f
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 0x100e7b97
mov dword [ecx + 0x20], ebx
mov eax, dword [esp + 0x120]
cmp eax, ebx
je 0x100e91c5
cmp ecx, ebx
je 0x100e91c5
xor esi, esi
xor edi, edi
push 1
mov dword [0x102958d8], eax
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], edi
call fcn.100e93e0
mov eax, dword [0x102958dc]
add esp, 4
cmp eax, ebx
je 0x100e91c5
cmp eax, 0x15
je 0x100e7c12
cmp eax, 0x16
je 0x100e7c12
cmp eax, 0x17
je 0x100e7c12
cmp eax, 0x18
jne 0x100e7c34
cmp esi, ebx
jne case.0x100e88fe.16
mov esi, eax
push 1
mov dword [esp + 0x84], esi
call fcn.100e93e0
mov eax, dword [0x102958dc]
add esp, 4
jmp 0x100e7bdc
cmp edi, ebx
jne case.0x100e88fe.16
mov edi, eax
push 1
mov dword [esp + 0x88], edi
call fcn.100e93e0
mov eax, dword [0x102958dc]
add esp, 4
jmp 0x100e7bdc
cmp eax, 0x19
jne case.0x100e88fe.16
cmp dword [0x102958d4], 0x10
jg case.0x100e88fe.16
mov eax, dword [0x102958d8]
push 0x102957d4
mov dword [esp + 0x8c], eax
call fcn.100f6076
add esp, 4
cmp edi, 0x15
jne 0x100e7c87
push 0x102957d4
lea ecx, [esp + 0x94]
push str.REP__s
push ecx
call fcn.100ebb42
add esp, 0xc
or ebp, 0xffffffff
jmp 0x100e7cfa
cmp edi, 0x16
jne 0x100e7cab
push 0x102957d4
lea edx, [esp + 0x94]
push str.REPE__s
push edx
call fcn.100ebb42
add esp, 0xc
or ebp, 0xffffffff
jmp 0x100e7cfa
cmp edi, 0x17
jne 0x100e7ccf
push 0x102957d4
lea eax, [esp + 0x94]
push str.REPNE__s
push eax
call fcn.100ebb42
add esp, 0xc
or ebp, 0xffffffff
jmp 0x100e7cfa
or ebp, 0xffffffff
mov edi, 0x102957d4
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.100e93e0
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 0x100e7d0f
lea ecx, [esp + 0xb0]
push ecx
call fcn.100ead70
mov eax, dword [esp + 0xd4]
add esp, 4
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x100e7d54
or al, 0x80
mov dword [esp + 0x18], eax
mov eax, dword [0x102958dc]
mov esi, 0x2c
cmp eax, 0x40
jne 0x100e7db6
cmp dword [0x102958d4], esi
jne case.0x100e88fe.16
push ebx
call fcn.100e93e0
lea edx, [esp + 0xd8]
push edx
call fcn.100ead70
mov eax, dword [0x102958dc]
add esp, 8
cmp eax, 0x40
jne 0x100e7db6
cmp dword [0x102958d4], esi
jne case.0x100e88fe.16
push ebx
call fcn.100e93e0
lea eax, [esp + 0xfc]
push eax
call fcn.100ead70
mov eax, dword [0x102958dc]
add esp, 8
cmp eax, 0xff
je case.0x100e88fe.16
cmp eax, ebx
jne case.0x100e88fe.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 [0x100f9b78]
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], 0x100f9b78
je 0x100e9100
mov ecx, dword [esp + 0x40]
mov ecx, dword [ecx + 0x10]
mov al, byte [ecx]
cmp al, 0x26
jne 0x100e7edb
mov edi, dword [0x10295c84]
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 0x100e7e8b
cmp al, 0x3a
je 0x100e7e87
cmp al, 0x2a
jne 0x100e7e74
mov al, byte [esp + esi + 0x90]
cmp al, 0x57
jne 0x100e7e5b
mov ebx, 2
jmp 0x100e7e7d
cmp al, 0x44
jne 0x100e7e66
mov ebx, 4
jmp 0x100e7e7d
mov ebx, edi
neg ebx
sbb ebx, ebx
and ebx, 2
add ebx, 2
jmp 0x100e7e7e
cmp al, byte [esp + esi + 0x90]
jne 0x100e7e87
inc esi
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100e7e41
mov dword [esp + 0x14], ebx
mov al, byte [esp + esi + 0x90]
test al, al
jne 0x100e7ea1
mov al, byte [ecx + edx]
test al, al
je 0x100e7ece
cmp al, 0x3a
je 0x100e7ece
mov al, byte [ecx + edx]
test al, al
je 0x100e7eb5
cmp al, 0x3a
je 0x100e7eb5
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100e7ea8
cmp byte [ecx + edx], 0x3a
jne 0x100e8797
mov ebx, 4
inc edx
mov dword [esp + 0x14], ebx
jmp 0x100e7e38
test esi, esi
je 0x100e8797
jmp 0x100e8005
cmp al, 0x24
jne 0x100e7f9f
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 0x100e7f55
mov edi, dword [0x10295c84]
cmp al, 0x3a
je 0x100e7f55
cmp al, 0x2a
jne 0x100e7f42
mov al, byte [esp + esi + 0x90]
cmp al, 0x57
jne 0x100e7f22
mov dword [esp + 0x64], 2
jmp 0x100e7f4b
cmp al, 0x44
jne 0x100e7f30
mov dword [esp + 0x64], 4
jmp 0x100e7f4b
mov eax, edi
neg eax
sbb eax, eax
and eax, 2
add eax, 2
mov dword [esp + 0x64], eax
jmp 0x100e7f4c
cmp al, byte [esp + esi + 0x90]
jne 0x100e7f55
inc esi
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100e7f05
mov al, byte [esp + esi + 0x90]
test al, al
jne 0x100e7f73
mov al, byte [ecx + edx]
test al, al
je 0x100e7ece
cmp al, 0x3a
je 0x100e7ece
mov al, byte [ecx + edx]
test al, al
je 0x100e7f87
cmp al, 0x3a
je 0x100e7f87
mov al, byte [ecx + edx + 1]
inc edx
test al, al
jne 0x100e7f7a
cmp byte [ecx + edx], 0x3a
jne 0x100e8797
inc edx
mov dword [esp + 0x64], 4
jmp 0x100e7ef6
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 0x100e7fc5
test al, al
je 0x100e7fc5
mov al, byte [ecx + esi + 1]
inc esi
cmp al, 0x2c
jne 0x100e7fb8
mov eax, dword [esp + 0x68]
mov edx, esi
sub edx, edi
cmp edx, eax
jne 0x100e7fe9
add ecx, edi
push eax
push ecx
lea ecx, [esp + 0x98]
push ecx
call fcn.100f5cd0
add esp, 0xc
test eax, eax
je 0x100e7ffd
mov edx, dword [esp + 0x40]
lea edi, [esi + 1]
mov ecx, dword [edx + 0x10]
cmp byte [ecx + esi], 0
je 0x100e7ffd
mov esi, edi
jmp 0x100e7fb1
cmp edi, esi
jg 0x100e8797
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 0x100e8071
cmp dl, 0x80
jae 0x100e8071
mov al, byte [ecx + 0xb]
test al, al
je 0x100e8054
cmp al, 0x80
jae 0x100e8054
mov al, byte [ecx + 0xc]
test al, al
je 0x100e8045
cmp al, 0x80
jae 0x100e8045
mov dword [esp + 0x38], 3
jmp 0x100e8079
mov esi, dword [esp + 0x30]
mov eax, 2
cmp esi, eax
jle 0x100e8065
jmp 0x100e8061
mov esi, dword [esp + 0x30]
mov eax, 1
cmp esi, eax
jle 0x100e8065
mov dword [esp + 0x30], eax
cmp dword [esp + 0x38], eax
jge 0x100e8079
mov dword [esp + 0x38], eax
jmp 0x100e8079
mov dword [esp + 0x30], 0
mov al, byte [ecx + 9]
cmp al, 0x20
jne 0x100e8089
mov ebx, 2
mov dword [esp + 0x14], ebx
cmp al, 1
je 0x100e80a1
cmp al, 3
je 0x100e80a1
cmp al, 8
je 0x100e80a1
cmp al, 0x81
mov dword [esp + 0x44], 0
jne 0x100e80a9
mov dword [esp + 0x44], 1
xor ebp, ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x6c], ebp
jmp 0x100e80bc
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 0x100e80d8
mov esi, edx
and esi, 0xff
jmp 0x100e80f3
cmp eax, 1
jne 0x100e80e8
mov eax, dword [esp + 0x40]
xor edx, edx
mov dl, byte [eax + 0xb]
jmp 0x100e80f1
mov eax, dword [esp + 0x40]
xor edx, edx
mov dl, byte [eax + 0xc]
mov esi, edx
test esi, esi
je 0x100e876c
cmp esi, 0x80
jge 0x100e876c
mov eax, dword [ecx]
test eax, eax
je 0x100e8771
lea edi, [esi - 1]
cmp edi, 0x87
ja case.0x100e88fe.16
xor edx, edx
mov dl, byte [edi + 0x100e9284]
jmp dword [edx*4 + 0x100e91d4]
cmp eax, 1
je 0x100e813d
mov ebp, 4
mov dword [esp + 0x10], ebp
cmp esi, 4
jne 0x100e8154
mov eax, dword [ecx + 8]
test eax, eax
je 0x100e8154
cmp eax, 8
je 0x100e8154
or ebp, esi
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100e8169
cmp dword [ecx + 4], 1
jne 0x100e8169
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e8174
mov ebx, dword [ecx + 4]
mov dword [esp + 0x14], ebx
cmp ebx, dword [ecx + 4]
jmp 0x100e8583
cmp eax, 1
je 0x100e818a
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
cmp ecx, 4
je 0x100e8199
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e81a3
mov ebx, ecx
mov dword [esp + 0x14], ebx
cmp ebx, ecx
jmp 0x100e8583
cmp eax, 1
jne 0x100e81bb
mov eax, dword [ecx + 8]
test eax, eax
je 0x100e81c4
cmp eax, 8
je 0x100e81c4
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
cmp ecx, 2
je 0x100e8199
jmp 0x100e8192
cmp eax, 1
jne 0x100e81e0
mov eax, dword [ecx + 8]
cmp eax, 2
je 0x100e81e9
cmp eax, 8
je 0x100e81e9
mov ebp, 4
mov dword [esp + 0x10], ebp
cmp dword [ecx + 4], 2
jmp 0x100e84a9
cmp eax, 1
jne 0x100e8204
mov eax, dword [ecx + 8]
cmp eax, 1
je 0x100e820d
cmp eax, 8
je 0x100e820d
mov ebp, 4
mov dword [esp + 0x10], ebp
cmp dword [ecx + 4], 1
jmp 0x100e84a9
cmp eax, 9
jne 0x100e822f
mov ecx, dword [ecx + 8]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 8
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 9
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0xa
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0xc
je 0x100e8272
cmp eax, 1
je 0x100e8272
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100e8287
cmp dword [ecx + 4], 1
jne 0x100e8287
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e8576
jmp 0x100e856f
cmp eax, 0xc
je 0x100e82a7
cmp eax, 1
je 0x100e82a7
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 1
jmp 0x100e84a9
cmp eax, 0xc
je 0x100e82cd
cmp eax, 1
je 0x100e82cd
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 2
jmp 0x100e84a9
cmp eax, 0xc
je 0x100e82f3
cmp eax, 1
je 0x100e82f3
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 4
jmp 0x100e84a9
cmp eax, 1
je 0x100e82f3
jmp 0x100e82ea
cmp eax, 0xc
je 0x100e8320
cmp eax, 1
je 0x100e8320
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x100e8333
cmp ecx, 4
je 0x100e8333
or ebp, 0x10
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 9
je 0x100e8341
or ebp, 1
mov dword [esp + 0x10], ebp
and dword [esp + 0x18], 0x7f
jmp case.0x100e8128.43
cmp eax, 0xc
je 0x100e849b
cmp eax, 0xa
je 0x100e849b
jmp 0x100e8492
cmp eax, 0xc
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0xc
je 0x100e8383
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x100e8396
cmp ecx, 6
je 0x100e8396
or ebp, 0x10
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e83a8
mov ebx, 4
mov dword [esp + 0x14], ebx
jmp case.0x100e8128.43
cmp ebx, 4
jmp 0x100e8583
cmp eax, 0xc
je 0x100e83be
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x100e83d1
cmp ecx, 6
je 0x100e83d1
or ebp, 0x10
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 7
jmp 0x100e8338
cmp eax, 0xc
je 0x100e83e9
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 6
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0xc
je 0x100e8413
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [ecx + 4]
mov ecx, dword [0x10295c88]
test ecx, ecx
jne 0x100e842a
cmp eax, 1
jle 0x100e842a
cdq
sub eax, edx
sar eax, 1
test eax, eax
je case.0x100e8128.43
cmp eax, ebx
jmp 0x100e8583
cmp eax, 0xc
je 0x100e8447
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 2
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0xc
je 0x100e8471
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 4
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0xc
je 0x100e849b
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 8
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0xc
je 0x100e84c5
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, 0xa
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0xc
je 0x100e84ef
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [ecx + 4]
test eax, eax
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0xc
jne 0x100e8521
cmp dword [ecx + 0x10], 6
jne 0x100e8521
cmp dword [ecx + 8], 0xffffffff
jne 0x100e8521
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x100e8521
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100e852a
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e8576
jmp 0x100e856f
cmp eax, 0xc
jne 0x100e854f
cmp dword [ecx + 0x10], 7
jne 0x100e854f
cmp dword [ecx + 8], 0xffffffff
jne 0x100e854f
mov eax, dword [ecx + 0x14]
test eax, eax
jne 0x100e854f
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x100e8558
mov ebp, 4
mov dword [esp + 0x10], ebp
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
je 0x100e856b
test eax, eax
je 0x100e856b
or ebp, 0x40
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e8576
mov ebx, dword [ecx + 4]
mov dword [esp + 0x14], ebx
mov ecx, dword [ecx + 4]
test ecx, ecx
je case.0x100e8128.43
cmp ecx, ebx
je case.0x100e8128.43
jmp 0x100e873f
cmp eax, 0x28
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0x29
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0x29
je 0x100e85c2
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e85d4
mov ebx, 4
mov dword [esp + 0x14], ebx
jmp case.0x100e8128.43
cmp ebx, 4
je case.0x100e8128.43
or ebp, 0x10
jmp 0x100e8742
cmp eax, 0x34
je 0x100e85f3
mov ebp, 4
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 5
jmp 0x100e8338
cmp eax, 0x29
jne 0x100e860a
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x100e8613
mov ebp, 4
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 0xa
jmp 0x100e8338
cmp eax, 0x29
je 0x100e8333
mov ebp, 4
jmp 0x100e832f
cmp eax, 0xc
jne 0x100e8647
mov eax, dword [ecx + 0x10]
test eax, eax
jge 0x100e8647
mov eax, dword [ecx + 8]
test eax, eax
jl case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0x29
je 0x100e865f
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 0x14]
cmp ecx, 0xffffff80
jl 0x100e8670
cmp ecx, 0x7f
jle case.0x100e8128.43
or ebp, 0x80
jmp 0x100e8742
cmp eax, 0x29
jne 0x100e8695
cmp dword [ecx + 0x14], 1
je case.0x100e8128.43
mov eax, dword [ecx + 0x18]
test eax, eax
jne case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, 0x29
je 0x100e86ad
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 0x14]
cmp ecx, 0xffffff80
jl 0x100e86c1
cmp ecx, 0xff
jle case.0x100e8128.43
or ebp, 0x80
jmp 0x100e8742
cmp eax, 0x29
je 0x100e86d7
mov ebp, 4
mov dword [esp + 0x10], ebp
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jl 0x100e86e6
cmp ecx, 0xffff
jle case.0x100e8128.43
or ebp, 0x80
jmp 0x100e8742
cmp eax, 0x35
je 0x100e86fc
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e870b
mov ebx, 2
mov dword [esp + 0x14], ebx
jmp case.0x100e8128.43
cmp ebx, 2
je case.0x100e8128.43
jmp 0x100e873f
cmp eax, 0x35
je case.0x100e8128.43
mov ebp, 4
jmp 0x100e8742
cmp eax, esi
je 0x100e872b
mov ebp, 4
mov dword [esp + 0x10], ebp
test ebx, ebx
jne 0x100e873a
mov ebx, 4
mov dword [esp + 0x14], ebx
jmp case.0x100e8128.43
cmp ebx, 4
je case.0x100e8128.43
or ebp, 0x20
mov dword [esp + 0x10], ebp
test byte [esp + 0x18], 0x80
je 0x100e8754
or ebp, 1
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x100e8797
mov eax, dword [esp + 0x6c]
inc eax
cmp eax, 3
mov dword [esp + 0x6c], eax
jl 0x100e80b5
jmp 0x100e877c
cmp dword [ecx], 0
je 0x100e8778
or ebp, 2
mov dword [esp + 0x10], ebp
test ebp, ebp
jne 0x100e8797
mov eax, dword [esp + 0x12c]
test eax, eax
jle 0x100e87ab
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 0x100e7e0b
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100e9100
test ebp, ebp
jne case.0x100e88fe.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 0x100e8828
inc ebx
mov dl, byte [edi + 9]
cmp dl, 1
mov byte [esp + 0x63], dl
je 0x100e8860
cmp dl, 3
je 0x100e8860
cmp dl, 0x81
je 0x100e8860
cmp dl, 8
jne 0x100e8880
mov eax, dword [esp + 0x14]
cmp eax, ebp
je case.0x100e88fe.16
cmp eax, 1
jle 0x100e8858
or byte [esp + ebx + 0x20], dl
mov al, byte [esp + ebx + 0x48]
or al, 8
jmp 0x100e887c
mov eax, dword [esp + 0x14]
cmp eax, ebp
je case.0x100e88fe.16
cmp eax, 1
jle 0x100e8876
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 0x100e889b
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 0x100e88b9
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 0x100e88ce
xor ecx, ecx
mov cl, byte [edi + 0xa]
jmp 0x100e88df
cmp ecx, 1
jne 0x100e88da
xor ecx, ecx
mov cl, byte [edi + 0xb]
jmp 0x100e88df
xor ecx, ecx
mov cl, byte [edi + 0xc]
cmp ecx, ebp
je 0x100e8ee9
lea esi, [ecx - 1]
cmp esi, 0x87
ja case.0x100e88fe.16
xor ecx, ecx
mov cl, byte [esi + 0x100e934c]
jmp dword [ecx*4 + 0x100e930c]
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], 1
cmp ecx, 8
jge case.0x100e88fe.3
mov dl, cl
mov cl, byte [esp + ebx + 0x21]
shl dl, 3
or cl, dl
jmp 0x100e8ddc
mov ecx, dword [eax + 8]
cmp ecx, 8
jge case.0x100e88fe.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.0x100e88fe.3
mov eax, dword [eax + 0x1c]
cmp eax, 0xffffffff
je case.0x100e88fe.3
cmp eax, 3
je case.0x100e88fe.3
mov dword [esp + 0x58], eax
jmp case.0x100e88fe.3
mov ecx, dword [eax]
mov dword [esp + 0x30], 1
cmp ecx, 0xc
je case.0x100e88fe.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.0x100e88fe.3
or cl, byte [eax + 8]
or dl, 7
mov byte [esp + ebx + 0x49], dl
mov byte [esp + ebx + 0x21], cl
jmp case.0x100e88fe.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 0x100e8a0a
mov ecx, dword [eax + 8]
test ecx, ecx
jge 0x100e8a0a
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x34], 4
cmp eax, 0xffffffff
je 0x100e89f0
cmp eax, 3
je 0x100e89f0
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.0x100e88fe.3
mov ecx, dword [eax + 8]
test ecx, ecx
jge 0x100e8ab8
cmp esi, 4
je 0x100e8ab8
mov dl, byte [esp + ebx + 0x49]
or dl, 0xc0
test edi, edi
mov byte [esp + ebx + 0x49], dl
jne 0x100e8a36
test ebp, ebp
jne 0x100e8a36
cmp esi, 5
jne 0x100e8a79
test byte [esp + 0x130], 1
je 0x100e8a66
cmp edi, 0xffffff80
jl 0x100e8a4d
cmp edi, 0x80
jl 0x100e8a51
test ebp, ebp
je 0x100e8a66
mov cl, byte [esp + ebx + 0x21]
mov dword [esp + 0x34], 1
or cl, 0x40
mov byte [esp + ebx + 0x21], cl
jmp 0x100e8a79
mov cl, byte [esp + ebx + 0x21]
mov dword [esp + 0x34], 4
or cl, 0x80
mov byte [esp + ebx + 0x21], cl
cmp esi, 8
jge 0x100e8aac
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x100e8a93
cmp ecx, dword [esi*8 + 0x100f9b38]
je 0x100e8a93
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.0x100e88fe.3
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x58], edx
jmp case.0x100e88fe.3
cmp esi, 5
mov dword [esp + 0x68], edx
jne 0x100e8adc
test ecx, ecx
jl 0x100e8adc
cmp dword [eax + 0xc], edx
jne 0x100e8adc
test edi, edi
jne 0x100e8adc
test ebp, ebp
jne 0x100e8adc
mov dword [eax + 0x10], ecx
mov dword [eax + 8], 5
mov esi, dword [eax + 8]
mov ecx, 4
cmp esi, ecx
jne 0x100e8af9
cmp dword [eax + 0xc], edx
jg 0x100e8af9
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 0x100e8b24
mov ecx, dword [eax + 8]
test ecx, ecx
jl 0x100e8b24
cmp dword [eax + 0xc], 2
jne 0x100e8b24
cmp edi, 0xffffff80
jl 0x100e8b24
cmp edi, 0x80
jge 0x100e8b24
test ebp, ebp
jne 0x100e8b24
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], edx
mov edx, dword [eax + 8]
mov esi, 4
cmp edx, esi
je case.0x100e88fe.16
mov ecx, dword [eax + 0x10]
test ecx, ecx
jge 0x100e8b44
mov cl, byte [esp + ebx + 0x21]
or cl, 4
jmp 0x100e8b8f
test edi, edi
jne 0x100e8b58
test ebp, ebp
jne 0x100e8b58
cmp ecx, 5
je 0x100e8b58
or byte [esp + ebx + 0x21], 4
jmp 0x100e8b97
test byte [esp + 0x130], 1
je 0x100e8b88
cmp edi, 0xffffff80
jl 0x100e8b6f
cmp edi, 0x80
jl 0x100e8b73
test ebp, ebp
je 0x100e8b88
mov cl, byte [esp + ebx + 0x21]
mov dword [esp + 0x34], 1
or cl, 0x44
mov byte [esp + ebx + 0x21], cl
jmp 0x100e8b97
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 0x100e8bb3
mov cl, byte [esp + ebx + 0x22]
or cl, 0x40
jmp 0x100e8bcc
cmp ecx, esi
jne 0x100e8bc0
mov cl, byte [esp + ebx + 0x22]
or cl, 0x80
jmp 0x100e8bcc
cmp ecx, 8
jne 0x100e8bd0
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 0x100e8bf8
test edx, edx
jge 0x100e8be7
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 0x100e8c3f
test ecx, ecx
jge 0x100e8c0b
mov dword [eax + 0x10], 5
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x100e8c23
mov edx, dword [eax + 0x10]
cmp ecx, dword [edx*8 + 0x100f9b38]
je 0x100e8c23
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.0x100e88fe.3
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], ecx
jmp case.0x100e88fe.3
mov ecx, dword [esp + 0x14]
cmp ecx, ebp
jne 0x100e8c75
mov cl, byte [edi + 0xb]
test cl, cl
jne case.0x100e88fe.16
cmp dl, 2
je 0x100e8c6c
cmp dl, 3
jne case.0x100e88fe.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 0x100e8c96
cmp dl, 3
je 0x100e8c96
mov dword [esp + 0x1c], ecx
jmp case.0x100e88fe.3
cmp ecx, 1
jle 0x100e8cca
test byte [esp + 0x130], 2
je 0x100e8cca
cmp esi, 0xffffff80
jl 0x100e8cb2
cmp esi, 0x80
jl 0x100e8cb6
cmp edi, ebp
je 0x100e8cca
mov al, byte [esp + ebx + 0x20]
mov dword [esp + 0x1c], 1
or al, 2
mov byte [esp + ebx + 0x20], al
jmp 0x100e8cce
mov dword [esp + 0x1c], ecx
or byte [esp + ebx + 0x48], 2
jmp case.0x100e88fe.3
mov ecx, dword [esp + 0x1c]
mov edx, dword [eax + 0x14]
cmp ecx, 2
jne 0x100e8cf3
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.0x100e88fe.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.0x100e88fe.3
mov ecx, dword [eax + 0x1c]
cmp ecx, 0xffffffff
je 0x100e8d3e
cmp ecx, 3
je 0x100e8d3e
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.0x100e88fe.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.0x100e88fe.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.0x100e88fe.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.0x100e88fe.3
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], 1
cmp ecx, 6
jge case.0x100e88fe.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.0x100e88fe.3
mov ecx, dword [eax + 8]
cmp ecx, 4
je 0x100e8e6f
cmp ecx, 5
je 0x100e8e6f
cmp ecx, 6
jge 0x100e8e58
cmp ecx, 1
jne 0x100e8e43
mov edi, 0x102819dc
lea esi, [esp + 0x90]
mov dl, byte [esi]
mov cl, dl
cmp dl, byte [edi]
jne 0x100e8e36
test cl, cl
je 0x100e8e32
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x100e8e36
add esi, 2
add edi, 2
test cl, cl
jne 0x100e8e12
xor ecx, ecx
jmp 0x100e8e3b
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
je case.0x100e88fe.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.0x100e88fe.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.0x100e88fe.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 0x100e8eae
test cl, cl
je 0x100e8eaa
mov dl, byte [esi + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x100e8eae
add esi, 2
add edi, 2
test cl, cl
jne 0x100e8e8a
xor ecx, ecx
jmp 0x100e8eb3
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x100e8ec5
mov al, byte [eax + 8]
or al, 0xf0
shl al, 3
mov byte [esp + 0x21], al
jmp 0x100e8ed2
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 0x100e88af
mov eax, dword [esp + 0x80]
xor ebp, ebp
test eax, eax
mov eax, dword [esp + 0x128]
je 0x100e8f09
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 0x100e8f2a
mov ecx, dword [esp + 0x40]
cmp byte [ecx + 9], 0x20
je 0x100e8f2a
mov byte [eax + ebp], 0x66
mov byte [eax + ebp + 0x10], 0xff
inc ebp
cmp dword [esp + 0x64], edx
jne 0x100e8f3a
mov byte [eax + ebp], 0x67
mov byte [eax + ebp + 0x10], 0xff
inc ebp
mov ecx, dword [esp + 0x58]
cmp ecx, 0xffffffff
je 0x100e8f92
test ecx, ecx
jne 0x100e8f4d
mov byte [eax + ebp], 0x26
jmp 0x100e8f8c
cmp ecx, 1
jne 0x100e8f58
mov byte [eax + ebp], 0x2e
jmp 0x100e8f8c
cmp ecx, edx
jne 0x100e8f62
mov byte [eax + ebp], 0x36
jmp 0x100e8f8c
cmp ecx, 3
jne 0x100e8f6d
mov byte [eax + ebp], 0x3e
jmp 0x100e8f8c
cmp ecx, 4
jne 0x100e8f78
mov byte [eax + ebp], 0x64
jmp 0x100e8f8c
cmp ecx, 5
jne case.0x100e88fe.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 0x100e8fe6
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 0x100e8fdf
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 0x100e9076
cmp ecx, 1
jne 0x100e8ffe
mov eax, 0xffffff00
jmp 0x100e900c
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 0x100e9022
cmp edx, eax
jne case.0x100e88fe.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 0x100e906f
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 0x100e9173
mov eax, dword [esp + 0x124]
test eax, eax
je 0x100e914e
sub ecx, eax
cmp ebx, 1
mov dword [esp + 0x74], ecx
jne 0x100e9136
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x100e9136
cmp ecx, 0xffffff80
jl 0x100e90de
cmp ecx, 0x80
jl 0x100e9136
mov eax, dword [esp + 0x7c]
test eax, eax
jne case.0x100e88fe.16
test byte [esp + 0x18], 3
jne case.0x100e88fe.16
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x7c], 1
xor ebx, ebx
jmp 0x100e7dd1
mov eax, dword [esp + 0x88]
mov dword [0x102958d8], eax
mov edx, dword [esp + 0x128]
mov eax, dword [esp + 0x120]
pop edi
pop esi
mov dword [edx + 0x20], 0
mov ecx, dword [0x102958d8]
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 0x100e9171
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
pushfd
xchg esi, eax
add al, byte [eax]
mov ebx, 0xe0000296
rol dword [edx], 0
mov bh, 0xbf
add al, byte [eax]
wait
mov cl, 2
add ch, bl
mov al, 2
add bl, bh
ret