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

Disassembly:
mov edi, edi
push ebp
push 0x41f988
push ebx
call fcn.0040d418
pop eax
push ecx
call fcn.0040f248
pop ebp
push 0xfffe57ae
push 0x4c35
call fcn.0040c678
sub eax, 0x410000
push eax
push ebp
push esi
push 0xffffffffffffff82
push 0x79
call fcn.0040e738
push edi
push 0xffffffffffffff96
call fcn.0040d988
push ebx
push 0
call 0x4094dd
mov ebp, eax
mov ebx, ebp
push 0x3417
push 0x6bea
call fcn.0040ce88
add ebx, dword [esp + 0x10]
push 0xffffffffffffffc5
call fcn.00410338
add ebx, 0x1000
push 3
push eax
call fcn.0040aea8
mov ebx, dword [ebx + 4]
xor ebx, 0x12587958
push edx
add edx, 0xff5e9555
mov edx, 0xf1b56302
xor edx, 0x9aee159c
xchg dword [esp], edx
push ebp
call fcn.004091b0
push ecx
call fcn.00410538
mov esi, eax
mov eax, esi
add eax, dword [eax + 0x3c]
mov edx, dword [eax + 8]
sub edx, 0x12345678
jne 0x4088cf
pop ebx
push 0xffffffffffffff8a
push 0xfff6afec
call fcn.0040c608
pop edi
pop esi
pop ebp
pop eax
push 0xffffffffffffffe5
push 0xffffffffffffffa0
call fcn.0040c608
xor eax, eax
ret
mov eax, dword [eax + 0x88]
cmp eax, 0
jne 0x408b84
push edx
push 0x23
call fcn.0040f488
pop ebx
pop edi
push eax
push 0x47
call fcn.0040e5c8
mov edx, esi
pop esi
mov eax, ebp
pop ebp
add esp, 4
push ebp
push 0x7e3c
push ebx
call fcn.0040c348
mov ebp, esp
sub esp, 0x50
push ebx
push esi
mov esi, edx
push 0x4f
call fcn.0040fe98
push eax
push 0x88e4
call fcn.00409cc8
mov ebx, eax
mov ecx, 0x7530
mov eax, edx
mov edx, ebx
dec ecx
jne 0x408927
mov ecx, eax
add ecx, dword [eax + 0x3c]
push 0x3518
push 0x857
call fcn.0040edc8
mov ecx, dword [ecx + 0x80]
add ecx, eax
add ecx, 0x50
mov ecx, dword [ecx + 0x10]
add ecx, eax
add ecx, 0xc
call dword [ecx]
push 0xffffffffffffffbb
push 0xfffd0dbe
call fcn.0040e5c8
mov eax, ebx
mov ecx, eax
add ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + 0x80]
add ecx, eax
add ecx, 0x28
push 0xffffffffffffff92
call fcn.0040f918
mov ecx, dword [ecx + 0x10]
add ecx, eax
add ecx, 8
call dword [ecx]
push 0xc843
call fcn.0040fe98
mov eax, ebx
mov ecx, eax
add ecx, dword [eax + 0x3c]
mov ecx, dword [ecx + 0x80]
add ecx, eax
push 0xfff2b767
push eax
call fcn.0040f808
add ecx, 0x28
push 0xffffffffffffffcb
call fcn.0040da78
mov ecx, dword [ecx + 0x10]
add ecx, eax
add ecx, 0x1c
call dword [ecx]
jmp 0x4089d5
mov eax, esi
pop esi
pop ebx
push 0x53
call fcn.00409da8
leave
ret
push ebx
push 0x743e
call fcn.00410338
mov eax, esi
add eax, dword [esi + 0x3c]
push ecx
call fcn.0040e978
cmp dword [eax + 0x60], 0
jne 0x408c09
mov ecx, ebp
add ecx, dword [ecx + 0x3c]
mov ecx, dword [ecx + 0x80]
add ecx, ebp
add ecx, 0x14
add ecx, 0x14
push 0xfffe4d26
push 0x4d
call fcn.0040a518
mov ecx, dword [ecx + 0x10]
push 0x7a
call fcn.0040b988
add ecx, ebp
push 0xd54b
call fcn.0040dd28
add ecx, 0x30
call dword [ecx]
push edi
add edi, 0xf602cef
mov edi, 0xa44bb017
xor edi, 0x31db9b0e
xchg dword [esp], edi
push esi
call fcn.0040981f
push 0
call eax
push eax
push 0x2ad3
call fcn.0040d918
ret
push edx
and edx, eax
mov edx, 0xe9440d88
sub edx, 0xaaebfdf6
xchg dword [esp], edx
push esi
call fcn.0040981f
push 0x5b
call fcn.004105a8
cmp dword [eax + 2], 0x9004ebec
jne 0x408c37
add esp, 0x24
cmp dword [eax + 2], 0x9005ebec
jne 0x408c4d
push edx
call fcn.0040a1c8
add esp, 0x24
cmp dword [eax + 2], 0x9006ebec
jne 0x408c5d
add esp, 0x24
push edi
and edi, ebx
mov edi, 0x85de2419
sub edi, 0xb784b1ff
xchg dword [esp], edi
push eax
call fcn.0040e398
push esi
call fcn.0040981f
push 0xfff901fc
push ecx
call fcn.0040c078
cmp dword [eax + 5], 0xc2006a05
jne 0x408c95
add esp, 0x24
push ebp
call fcn.00408cb6
add esp, 8
push 0xffffffffffffffb0
push 0xf
call fcn.0040fa68
jmp 0x408d04
or eax, eax
je 0x408d0e
xor ebp, ebp
pop ebx
push dword fs:[0x30]
pop eax
push eax
push 0xfff01a9c
call fcn.0040d918
mov eax, dword [eax + 0xc]
push 0x55
call fcn.00410068
mov eax, dword [eax + 0x1c]
mov edx, dword [eax + 8]
push 0xc1e86270
push edi
xor edi, eax
mov edi, 0x640d8a50
xor dword [esp + 4], edi
pop edi
push edx
call fcn.0040981f
push ebx
push eax
call fcn.0040c348
cmp dword [eax], 0x2cc2c033
jne 0x408d6a
push 0xfff1a5e1
call fcn.0040b358
add esp, 4
push 0x6c899e12
push ebx
lea ebx, [eax + ecx + 0x29]
mov ebx, 0x5f3f4ec
xor dword [esp + 4], ebx
pop ebx
push esi
call fcn.0040981f
push 0x40
push eax
add eax, edx
mov eax, 0xfeaad594
sub eax, 0xfeaaa594
xchg dword [esp], eax
push ebx
push 0xeb71
call fcn.0040ecb8
push 0
call eax
mov edi, eax
push eax
push esi
mov ebx, ebp
add ebx, dword [esp + 0x18]
push 0x42c2
call fcn.0040fe98
add ebx, 0x1000
mov esi, dword [ebx]
xor esi, 0x12587958
push eax
call fcn.0040e858
add esi, ebp
call 0x408e3b
pop ebp
pop edx
outsb dx, byte [esi]
push 0x7e
pop ebp
jne 0x408e3b
push esi
push 0x6f62556f
add byte [eax], al
pop eax
jp 0x408e40
add byte [ebx + 0x69], dh
add byte [ecx + 0x58], ah
jne 0x408e4f
pushal
add byte [eax], al
insd dword es:[edi], dx
popal
pop ebx
push 0x69007157
jae 0x408dfe
jge 0x408e74
outsd dx, dword [esi]
add byte [eax], al
push 0
add byte [ecx + 0x7d], ch
pop esi
add byte [eax + 0x69], bl
jns 0x408e7f
add byte [eax], al
insd dword es:[edi], dx
push 0x5c
jle 0x408e15
je 0x408e17
jne 0x408e19
add byte [eax + ebx*2 + 0x7d], ch
push edi
insb byte es:[edi], dx
jae 0x408ea0
pop ebx
add byte [edi + 0x58], bh
push edi
add byte [eax], al
add byte [edi + edi*2 + 0x6e], bl
outsb dx, byte [esi]
imul eax, dword [eax], 0x69
push edi
je 0x408ea8
add byte [eax], al
add byte [eax], al
push edx
jne 0x408e3a
add al, ch
mov eax, 0x8b000048
dec ebx
add al, 0x81
int1
pop eax
jns 0x408ea0
call fcn.0040d6f8
mov ecx, dword [ebx + 4]
xor ecx, 0x12587958
push 0x34
adc ch, byte [edx + 0x34]
push 0xfffec943
call fcn.0040b4b8
rep movsb byte es:[edi], byte [esi]
pop esi
push 0xfffec867
push 0xfffa41fa
call fcn.0040b4b8
mov ebx, ebp
call 0x408eca
insb byte es:[edi], dx
push 0x5e756965
invalid
pop ebx
push 0x6c007a
pop esp
jnp 0x408e7d
push esp
jge 0x408e80
add byte [esi + 0x7a], bh
jle 0x408efc
push 0x705b005a
insd dword es:[edi], dx
insd dword es:[edi], dx
insd dword es:[edi], dx
jo 0x408eff
push ecx
jne 0x408f07
add byte [ebx + 0x51], dl
jb 0x408f06
push ebx
push esi
jp 0x408f18
add byte [edx + 0x54], ch
add byte [eax], al
jg 0x408ef6
push ebx
push eax
jno 0x408f1f
pop esi
jns 0x408ef8
pop esi
pop esi
push 0x52685051
push edx
push edx
pushal
push esp
push edx
pop esi
add byte [edx], ch
pop ebp
add byte [ecx + esi*2 + 0x6e], bh
push edi
push edi
pop ecx
pop edi
pop edx
add byte [ecx + 0x5a], bh
add byte [ecx + 0x7b], dl
jo 0x408f3c
add al, ch
imul esi, dword [eax + eax], 0x14245c03
add ebx, 0x1000
mov eax, dword [ebx + 0x18]
push 0x12587958
xor eax, dword [esp]
add esp, 4
mov edx, dword [ebx + 0x1c]
push 0x12587958
xor edx, dword [esp]
add esp, 4
push 0xffffffffffffff84
push 0x53
test byte [edx + 0x53], ch
push ebx
call fcn.0040aea8
add byte [eax], al
mov ecx, dword [ebx + 0x20]
xor ecx, 0x12587958
dec ebx
and byte [ecx + 0x587958f1], al
adc dl, byte [ecx - 0x18]
pop esi
add byte [eax], al
add byte [eax], al
imul ebp, dword [ebx + 0x5e], 0x6b755400
push ecx
call 0x408f6b
add byte [ecx + 0x6b], ch
pop esi
add byte [ebp + esi*2 + 0x6b], dl
pop ebp
add byte [ebp], dh
add byte [edi], ch
jl 0x408f75
add byte [eax], al
outsd dx, dword [esi]
add byte [edi + edx*2 + 0x73], bh
jae 0x408f8e
outsb dx, byte [esi]
outsb dx, byte [esi]
add byte [ebx], bh
add byte [ebp + 0x75], ah
arpl word [eax], ax
add byte [eax], al
push ecx
push 0x50
jbe 0x408f30
push cx
outsd dx, dword [esi]
push esp
push sp
add byte [eax], al
pop ebp
jbe 0x408fac
pop ecx
pop ecx
push esp
jo 0x408f9b
add byte [eax], al
arpl word [eax], ax
pop edx
outsb dx, byte [esi]
pop esi
insb byte es:[edi], dx
jl 0x408f9e
bound edi, qword [edi + 0x7d]
arpl word [edi + 0x54], bp
jle 0x408fc3
js 0x408fd1
push ebp
add byte [edx], bl
add byte [esi + 0x6d], bh
jne 0x408fd9
pop ebp
jae 0x408fb9
insd dword es:[edi], dx
jns 0x408fb9
add byte [esi + 0x6e], ah
add byte [esi], dh
add al, ch
or byte [eax + eax], al
add eax, edx
add eax, ecx
mov ebx, eax
push ebx
mov ebx, ecx
mov ebx, esi
mov ebx, 0x6e5af325
xor ebx, 0x72099db
xchg dword [esp], ebx
call 0x408fe9
fcom dword [ebx - 0x75]
invalid
push eax
add byte [ecx + 0x5b], dl
add byte [eax], dl
imul ebx, dword [ebx + 0x50], 0x63
push 0x63006063
pushal
add byte [ebx + 0x61], ah
popal
push edi
push ebp
add byte [ebx + ebx*2 + 0x53], dl
jno 0x408ffb
pop edx
pushal
jg 0x409015
insd dword es:[edi], dx
jo 0x40902c
push ecx
add byte [eax], al
jo 0x409005
push ebx
insd dword es:[edi], dx
pop ecx
add byte [ecx + 0x76], dh
push edx
jbe 0x40900d
bound eax, qword [eax]
push edi
ja 0x408fc0
push edx
pop eax
pop eax
jl 0x40901f
push 0x77525f73
pop ax
js 0x40903c
pop esi
pop ecx
add byte [ebp + 0x7a], bh
jge 0x40904d
jae 0x40904f
pop ecx
jns 0x40903e
jge 0x409059
jg 0x408fdb
add byte [edi + 0x61], dh
ja 0x40903e
js 0x408fdf
push 0x7f
arpl word [esi + 0x75], bp
add al, ch
ficom dword [ecx]
add byte [eax], al
push esi
call fcn.0040981f
push 4
push 0x9f014163
push ecx
mov ecx, ebp
mov ecx, 0x9f017163
xor dword [esp + 4], ecx
and al, 4
pop ecx
push ebx
push 0
push ecx
push 0x447c
jl 0x409053
add byte [eax], al
call fcn.0040b408
call eax
mov edi, eax
push eax
push esi
mov ebx, ebp
add ebx, dword [esp + 0x1c]
add bh, bh
ror byte [ebx - 0x74a9af08], 1
fld qword [ebx]
pop esp
and al, 0x1c
push 0xffffffffffffff8f
call fcn.0040e398
add ebx, 0x1000
mov esi, dword [ebx + 8]
xor esi, 0x12587958
add esi, ebp
adc byte [eax], al
add byte [ebx - 0x97ef78d], cl
pop eax
jns 0x40908f
adc al, byte [ebx]
cmc
mov ecx, dword [ebx + 0x18]
xor ecx, 0x12587958
rep movsb byte es:[edi], byte [esi]
sbb byte [ecx + 0x587958f1], al
int1
pop eax
jns 0x40909a
adc dh, bl
movsb byte es:[edi], byte [esi]
push 0x41
call fcn.0040e398
mov ecx, dword [ebx + 0x1c]
dec ebx
sbb al, 0x68
pop eax
jns 0x4090ab
push 0x12587958
xor ecx, dword [esp]
adc dh, byte [ebx]
or al, 0x24
add esp, 4
push edx
add al, 0x52
call 0x4090c1
jno 0x4090cb
jp 0x4090c3
push esi
push 0x73
arpl word [eax], ax
pop esp
push esp
push 0x6a
pop ebx
jl 0x4090ce
pop ebp
push esp
add byte [esi + 0x68], dh
add byte [eax], al
outsb dx, byte [esi]
push ebp
pushal
add byte [ebp], dh
add byte [esi], ah
pop esi
popal
outsb dx, byte [esi]
jg 0x4090ec
add byte [ebx + 0x72], dh
insd dword es:[edi], dx
jg 0x409108
bound edi, qword [ebp + 0x7c]
push esi
jge 0x409108
push edx
push ebp
push esi
popal
push edi
outsb dx, byte [esi]
jl 0x40910a
add byte [eax], al
add byte [eax], al
pop ecx
jp 0x40910c
push 0x645e7c
jae 0x4090f8
add byte [ebp + 0x5c], ch
pop ebp
jge 0x40912a
jle 0x409126
jns 0x40911c
outsb dx, byte [esi]
push esi
imul ebx, dword [esi + 0x6f], 0x71
push edx
jo 0x4090b6
add byte [ecx + 0x68], bh
jle 0x409124
arpl word [eax + 0x52], sp
add al, ch
mov dl, 0x36
add byte [eax], al
add byte ss:[eax], al
or ecx, ecx
je 0x40916f
add byte [eax], al
add byte [ebx + 0x58f68133], cl
jns 0x40912d
mov esi, dword [ebx]
xor esi, 0x12587958
push 0xffffffffffffffa7
adc ch, byte [edx - 0x59]
call fcn.004105a8
mov edx, dword [ebx + 0x10]
xor edx, 0x12587958
push 0xffffffffffffffce
push 0xfff0e2d5
call fcn.0040ac28
add esi, edx
call 0x409166
popal
jp 0x409169
invalid
add byte [ecx + 0x7a], ah
insd dword es:[edi], dx
pop esi
jg 0x409162
add byte [eax], al
pop esp
push eax
jne 0x409159
push esi
push ebx
pushal
jle 0x40916a
pushal
jle 0x40916a
pop ebp
add byte [ebx + 0x57], bl
add byte [edx + 0x75], ch
popal
add byte [ebp], ah
popal
je 0x409198
pop eax
add byte [ecx + 0x5a], bl
pop ecx
pop edx
jge 0x409120
ja 0x40917e
jno 0x40917a
push ebp
pop esp
jnp 0x409181
pushal
pop ecx
popal
jg 0x4091a9
insd dword es:[edi], dx
insb byte es:[edi], dx
push ebx
jg 0x40919c
jo 0x4091a9
push 0x6f515556
pop bx
insb byte es:[edi], dx
pushal
pop ebp
push esp
push edi
pop eax
push ebx
js 0x4091b8
popal
push ebx
pop esi
js 0x4091b1
jae 0x40914c
add byte [eax], al
add byte [ebp + 0x58], bh
popal
add byte [eax], al
jo 0x4091c7
add byte [ecx + 0x65], dh
jle 0x4091d7
pop edi
jns 0x4091c5
imul edx, dword [ebx + 0x7a], 0x7979617f
popal
jns 0x4091de
add al, ch
in eax, dx
sbb eax, dword [eax]
add byte [eax], al
add esi, ebp
add byte [ebx], al
cmc
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0x20]
xor ecx, 0x12587958
or ecx, ecx
je 0x40918d
add byte [eax], al
mov esi, ebx
add esi, 0x24
add esi, 0x24
push ebx
call fcn.004105a8
rep movsb byte es:[edi], byte [esi]
pop esi
push edx
and edx, ecx
mov edx, 0xd2b1318a
xor edx, 0xd2b10f0a
or cl, byte [edi]
mov cl, 0xd2
xchg dword [esp], edx
push 0xc420
call fcn.0040cfa8
pop edi
mov eax, dword [esp + 4]
jmp eax
push 0xd4a9
push 0xfffa9814
call fcn.0040bd88
mov ebp, esp
add esp, 0xfffffffc
cwde
cli
invalid
push ebx
push esi
call 0x40923a
jp 0x40922b
push 0
add byte [edx + 0x60], ch
add byte [eax], al
pop ebx
pop edx
add byte [ebp], bl
add byte [ecx + 0x72], dl
insb byte es:[edi], dx
jg 0x4091e0
push esi
jbe 0x4091e3
add byte [edi + edx*2 + 0x6e], bh
imul eax, dword [eax], 0x5f727400
jl 0x4091ef
arpl word [ecx + 0x68], di
push ebx
pop ebx
add byte [edx], ch
ja 0x4091fa
push ebp
outsb dx, byte [esi]
jne 0x409258
pushal
add byte [ecx + ebx*2 + 0x6c], ch
insb byte es:[di], dx
popal
bound edx, qword [edi + ebx*2 + 0x76]
insb byte es:[edi], dx
jge 0x409274
add byte [eax], al
pop ebx
add byte [ecx], ah
imul ebp, dword [edi + 0x75], 0x64
pop ecx
jnp 0x409276
ja 0x409288
pop ebx
pushal
add byte [eax], al
pop esi
jno 0x40927d
js 0x409227
pop eax
push edx
push eax
pop esi
pop esi
add byte [ecx + 0x72], dl
push eax
push esp
push ecx
outsd dx, dword [esi]
push 0
jns 0x4092b5
pop ebx
add byte [eax - 0x39], ch
push ss
invalid
inc eax
cli
invalid
mov edi, dword [ebx + 0xc]
push 0xffffffffffffffd7
call 0x4092f5
jge 0x4092e8
jno 0x4092fd
jb 0x4092ee
push esi
add byte [ebp + 0x6d], dl
pop edx
pop ecx
add byte [ebp + 0x59], ch
insd dword es:[edi], dx
pop ecx
add byte [eax], al
add byte [edx + 0x56], ch
pushal
jle 0x4092f0
bound edi, qword [esi + 0x67]
pop esi
add byte [ebx + 0x63], bl
add byte [ebp + 0x68], dh
pop ecx
bound esp, qword [ecx + edi*2 + 0x53]
pop esp
jo 0x4092f7
pop ebp
imul eax, dword [eax], 0x67
add byte [eax], al
add byte [bx + 0x62], dh
jnp 0x4092b0
js 0x4092b2
pushal
ja 0x409322
add byte [eax], al
pop ebx
arpl word [esi + 0x6e], di
push edi
imul edi, dword [esi + 0x57], 0x7d
js 0x409324
jl 0x409321
add byte [edi + 0x64], bl
pop ebx
jae 0x409340
je 0x409321
jbe 0x409338
add byte [esi + 0x6e], dh
jb 0x409334
add byte [ecx + 0x76], ah
arpl word [ecx + 0x5e], bp
jae 0x40933a
pop ebx
pop ecx
push 0x78
add byte [eax], al
pop ebp
jbe 0x4092e7
js 0x409350
push ebx
push ebx
push bx
jae 0x409367
js 0x4092f0
add byte [esi + 0x6d], dl
push esi
insd dword es:[edi], dx
jo 0x409344
add al, ch
jle 0x409325
sub eax, 0x7d030000
or byte [ebx], dh
test byte [ebx - 0x3e3fcc29], 0xc0
pop es
add byte [eax], al
add edi, dword [ebp + 8]
xor esi, esi
mov edx, edi
xor eax, eax
rol eax, 7
xor al, byte [edx]
call 0x40936a
pushal
push ebx
push ebp
add byte [ecx + 0x65], dh
jbe 0x409383
js 0x409317
jne 0x40938d
outsd dx, dword [esi]
jo 0x40931d
push esp
add byte [eax + 0x55], ah
pushal
pushal
insb byte es:[edi], dx
jne 0x409326
add byte [eax], bl
add byte [eax], al
arpl word [eax + eax + 0x57], bx
jno 0x409380
pop eax
add byte [eax], al
add byte [ebx + 0x5c], ah
add byte [edi + 0x71], dl
push eax
push esi
add byte [eax], al
add byte [eax + 0x65], bh
js 0x40939b
add byte [ebx + 0x6c], dh
insb byte es:[edi], dx
add byte [esi + 0x7a], ch
jle 0x40939d
outsb dx, byte [esi]
jp 0x4093bb
pop edi
jb 0x409392
add byte [esi], bh
bound eax, qword [eax]
js 0x40939d
add byte [eax + 0x56], bh
add byte [ebp + 0x5b], bh
add byte [eax], al
insb byte es:[edi], dx
push 0x7e
add byte [esi], ch
jae 0x4093ae
outsb dx, byte [esi]
add byte [ebx + 0x5a], dh
arpl word [esi + esi*2 + 0x62], sp
add byte [ebp + 0x62], dh
pop ebx
jle 0x4093d1
add byte [ebp], ch
pop edx
pop ebp
jnp 0x409365
add byte [esp + 0x72], bl
add al, ch
jmp 0x42409385
jb 0x40936a
call fcn.0040a958
inc edx
push 0xfffc3ec0
push ecx
call fcn.0040f6a8
cmp byte [edx], 0
jne 0x409303
jg 0x409381
invalid
invalid
invalid
cmp eax, dword [ebp + 0xc]
je 0x40944c
add ebx, 0x14
cmp dword [ebx + 0x10], 0
adc byte [eax], al
jne 0x409271
push 0xffffffffffffffb4
call fcn.0040cfa8
xor eax, eax
push 0x4d
call fcn.0040b988
pop ecx
call 0x40942e
mov ah, 0xe8
pop es
cmp al, 0
add byte [ebx], dh
shr byte [edx + 0x4d], 0xe8
fisub word [0xe8590000]
jle 0x4093ae
add byte [eax], al
jae 0x409425
jl 0x409413
push edi
add byte [eax + 0x69], bh
push edi
push esp
jle 0x409421
pop ecx
pop ecx
ja 0x409439
pop ebp
jae 0x4093c2
jge 0x409418
je 0x40941e
jl 0x40942d
push si
add byte [edi + 0x5e], bh
add byte [edx + 0x61], ch
bound esi, qword [eax + 0x6b]
jo 0x40943e
jns 0x40944c
push ecx
jp 0x4093d8
push 0x56657b7d
insd dword es:[edi], dx
imul esp, dword [edi], 0x60
js 0x40945e
add byte [eax], ch
ja 0x4093ea
add byte [ebp + 0x54], bh
add byte [ecx + 0x7d], bh
jb 0x40945f
push 0
pushal
add byte [ebx + edx*2 + 0x56], ah
add byte [eax], al
push ecx
jl 0x409470
jge 0x40947e
add byte [edx + 0x6f], dl
insb byte es:[edi], dx
arpl word [edx + 0x78], di
pop esp
outsb dx, byte [esi]
add byte [ebp + 0x62], dl
imul esp, dword [edx + 0x6a], 0
jg 0x409477
outsb dx, byte [esi]
jb 0x409416
outsb dx, byte [esi]
jne 0x40948f
jbe 0x409498
jle 0x40941b
add byte [eax + 0x76], dh
jo 0x409493
outsd dx, dword [esi]
jle 0x40948a
jne 0x409475
push ebx
jae 0x40947e
add byte [ecx + 0x58], ah
popal
pop eax
jl 0x4094a1
push ecx
jns 0x40942c
je 0x40942e
add al, ch
add eax, 0x5a00006f
call fcn.00410338
pop edx
pop edi
push eax
call fcn.0040cfa8
add byte [eax], al
pop esi
push 0xaa10
stosb byte es:[edi], al
add byte [eax], al
push ebx
call fcn.0040d858
pop ebx
leave
ret 8
mov edx, dword [ebx + 0x10]
add edx, dword [ebp + 8]
call 0x4094ad
pop esp
add byte [eax + 0x74], ch
jge 0x4094c9
insb byte es:[edi], dx
add byte [eax], al
pop eax
insd dword es:[edi], dx
add byte [eax + 0x6d], bl
add byte [edi + 0x62], ah
jl 0x4094d0
pop esp
jle 0x40946a
add byte [esi + 0x7c], dh
pop ebx
pop ebp
outsb dx, byte [esi]
arpl word [edi + 0x73], di
add byte [edi + 0x5e], bh
jg 0x4094d5
push ecx
insd dword es:[edi], dx
pop esi
add byte [ebx + 0x57], dl
push 0x55
push ebp
jo 0x4094dc
jnp 0x409483
push ebx
jge 0x4094d9
bound eax, qword [eax]
jae 0x4094ec
insd dword es:[edi], dx
bound esp, qword [ebx + 0x59]
add byte [ebp], bh
jge 0x409491
outsd dx, dword [esi]
jb 0x409507
jae 0x409502
insd dword es:[edi], dx
add byte [edi], bl
push edi
add byte [edi], dh
jnp 0x4094f5
outsd dx, dword [esi]
add byte [eax + 0x58], dh
pop eax
push ecx
add byte [ebx], ah
push 0x54007b
push eax
add al, ch
cmpsb byte [esi], byte es:[edi]
cmp eax, 0xc2830000
or byte [ebx - 0x2297affe], cl
stc
idiv bh
call fcn.0040e1f8
call 0x40972d
xor ax, ax
pop ecx
push 0x4e4a
rcr byte [ecx + 0x68], 0x4a
dec esi
add byte [eax], al
call fcn.0040b1d8
pop edx
pop edi
pop esi
pop ebx
leave
ret 8
add byte [ebp - 0x18], dl
bound eax, qword [eax]
add byte [eax], al
jns 0x409550
outsb dx, byte [esi]
pop esi
pop esi
jle 0x409569
jle 0x409553
push 0x57
push edi
jo 0x409545
outsd dx, dword [esi]
add byte [esi], bl
jbe 0x409573
pop eax
popal
pushaw
insb byte es:[edi], dx
jae 0x4094fe
pop eax
jns 0x40955a
insb byte es:[edi], dx
add byte [esi + 0x64], ch
pop esi
insd dword es:[edi], dx
popal
jbe 0x40955a
jae 0x409588
add byte [edx + 0x65], dh
add byte [edi + 0x6a], ah
arpl word [eax], ax
add byte [ecx + 0x7a], bh
js 0x40956a
add byte [edi + 0x6b], dl
add byte [eax], ch
js 0x409521
ja 0x40957b
add byte [ebx], ch
add byte [esi + 0x67], bl
add byte [eax + eax + 0x60], ch
arpl word [eax + 0x51], si
pop esp
add byte [ebp], bh
jg 0x4095a1
pushal
outsd dx, dword [esi]
outsb dx, byte [esi]
bound esp, qword [edx + 0x7b]
ja 0x409595
pop ecx
push esi
pop esp
add byte [ebp], dl
call fcn.0040b1d8
mov ebp, esp
cmp dword [ebp + 8], 0
jne 0x40955f
add byte [eax], al
add byte [ebx - 0x16fbdbbc], cl
add eax, dword [eax]
add byte [eax], al
mov eax, dword [esp + 4]
jmp 0x409562
mov eax, dword [ebp + 8]
and eax, 0xffff0000
push dword [eax]
push 0x60
pushal
push eax
call fcn.0040b0c8
pop edx
sub edx, 0x2895
jmp 0x40968d
ljmp 0x10e9:0x2895
add byte [eax], al
sub eax, 0x10000
push dword [eax]
call 0x4095f6
jl 0x4095e7
add byte [esp + ebx*2 + 0x6c], bh
insb byte es:[edi], dx
insd dword es:[edi], dx
push 0x5779
pop edi
add byte [eax + ebp*2 + 0x77], dh
push eax
pop eax
add byte [ebx], bh
push 0x585077
jnp 0x40959c
pop edx
bound ebx, qword [esi + 0x68]
add byte [ebx + 0x66], dl
push ebp
push ebx
push bp
add byte [ecx], ch
pop edx
add byte [eax], al
pop esp
add byte [ebx + 0x7f], ah
add byte [esi + 0x74], bh
add byte [eax + 0x7a], ah
push edi
add byte [esi + 0x58], ah
imul esi, dword [ebx + 0x70], 0x78607d52
jne 0x409611
add byte [eax], al
outsd dx, dword [esi]
jns 0x40961c
imul ebp, dword [eax + 0x73], 0
jo 0x40961f
pop ecx
push ebp
pop esp
pushal
pop ebp
add byte [ecx + 0x69], dl
pop edi
jno 0x409655
jno 0x409658
jo 0x40965a
jno 0x4095de
push ecx
pushal
outsd dx, dword [esi]
jbe 0x40963e
push ecx
push eax
push 0
add byte [ebx + 0x52], dl
pushal
pop edx
popal
jl 0x40966a
jno 0x409659
arpl word [ecx], di
add al, ch
jnp 0x4095f9
add byte [eax], al
push 0x70
push esi
jne 0x40967a
add byte [ebx], bh
je 0x409670
jns 0x409686
add byte [eax + 0x52], ah
push edi
add byte [edi + 0x53], bh
add byte [eax + ebx*2 + 0x6c], ah
pop eax
insb byte es:[edi], dx
pop ebx
pop esi
jae 0x40967d
add byte [ebp + 0x68], dl
add byte [ebx + ebp*2 + 0x50], bl
jns 0x409686
imul edx, dword [eax + 0x79], 0x66
imul bx, word [edx], 0x5169
bound ebp, qword [esp + edi*2]
imul ebx, dword [edx], 0x6c625169
jl 0x409629
jne 0x4096a2
add byte [eax], al
push 0x75705e
insb byte es:[edi], dx
add byte [eax + 0x5f], ch
insd dword es:[edi], dx
pop ecx
jle 0x40968e
imul eax, dword [eax], 0x7a595178
pop ebx
push ecx
pop ecx
jp 0x4096a9
pop ebx
jno 0x4096c1
add byte fs:[ebx + 0x7f], ah
ja 0x40969d
add byte [eax], al
push ebp
jae 0x409651
add byte [ebp + 0x7c], bl
pop ebx
jne 0x4096bd
push eax
push ebx
push 0x535e7573
jae 0x4096d1
pop esi
push ebx
imul edi, dword [ebx + 0x7a], 0x6c7c00
pushal
jne 0x409669
push 0x6f
outsd dx, dword [esi]
jno 0x4096d8
bound esp, qword [ebp + 0x5f]
push edx
imul edi, dword [edi + 0x60], 0x9de80000
sub byte [eax], al
add byte [edx - 0x7f], bl
ljmp 0x6853:0x2895
add byte [eax], al
call fcn.00410818
cmp dx, 0x31b8
jne 0x40957d
cmp edx, 0x850f31b8
in eax, 0xfe
invalid
mov ecx, eax
add ecx, dword [eax + 0x3c]
movzx edx, word [ecx]
push ecx
call 0x409704
push 0x5d546663
pop esi
add byte [eax], al
add byte [eax + 0x63], ch
push sp
push esp
pop ebp
outsd dx, dword [esi]
push ebx
pop edx
pop esp
bound ebp, qword [eax + 0x73]
jns 0x4096b4
jle 0x40970c
ja 0x40972a
push eax
add byte [eax], al
add byte [eax], al
pop esp
jl 0x4096c0
add byte [edx + 0x75], dl
push eax
push edx
jne 0x409714
add byte [ebx], ch
add byte [eax], al
outsb dx, byte [esi]
outsw dx, word [esi]
push edx
js 0x409735
jnp 0x4096d1
jge 0x40973c
pop edi
add byte [eax], al
add byte [esi + 0x71], dh
add byte [ebx + 0x5f], bl
jno 0x4096da
pop ebx
pop edi
pop esp
jge 0x4096df
push ebp
jg 0x409735
je 0x4096e4
push eax
arpl word [eax], ax
add byte [eax], al
push eax
add byte [esi + 0x68], dh
add byte [ecx], bl
jge 0x409758
push 0x7373775c
push ebp
jle 0x409771
js 0x409774
outsb dx, byte [esi]
jb 0x409752
jge 0x409704
call fcn.0040b408
sub edx, 0x2489
cmp edx, 0x20c7
jne 0x409567
and al, 0
add byte [ecx + 0x20c7fa], al
add byte [edi], cl
test dword [esi + edi*8 - 1], ecx
dec ecx
leave
push 0x7b
call fcn.0040a7b8
ret 4
adc al, byte [eax]
add byte [ebp - 0x75], dl
in al, dx
cmp dword [ebp + 8], 0
jne 0x409749
test dword [edi], ecx
add byte [eax], al
add byte [edx - 0x18], dl
push edx
call fcn.0040aa08
enter 0x12, 0
mov eax, dword [esp + 4]
jmp 0x40974c
mov eax, dword [ebp + 8]
and eax, 0xffff0000
push dword [eax]
pop edx
push 0x28
call fcn.0040b988
sub edx, 0x1462
jmp 0x40977e
xor byte [edx + 0x6a], bl
sub al, ch
sub eax, 0x81000022
ljmp 0x18e9
and al, byte [eax]
add byte [ecx + 0x1462ea], al
add cl, ch
sbb byte [eax], al
add byte [eax], al
sub eax, 0x10000
push dword [eax]
pop edx
push 0xca2f
add byte [eax], al
call fcn.0040c9a8
xor byte [edx], dh
add byte [eax], al
sub edx, 0x1462
cmp dx, 0x45eb
jne 0x409766
mov ecx, eax
add ecx, dword [eax + 0x3c]
movzx edx, word [ecx]
push 0x78
call fcn.0040e4a8
sub edx, 0x2489
push 0xfff671e5
call fcn.0040caf8
cmp edx, 0x20c7
jne 0x409751
call 0x409811
outsd dx, dword [esi]
outsb dx, byte [esi]
push ebx
pop ebp
add byte [ebp + 0x57], bl
jle 0x409838
popal
add byte [edi + esi*2 + 0x50], dh
push 0x745c53
jbe 0x40983c
pop edi
push edx
outsb dx, byte [esi]
pop esi
push esi
push edx
pop esp
add byte [eax], al
add byte [eax + 0x70], dh
add byte [edi + 0x79], ch
jle 0x409830
add byte [ebx], bl
jne 0x409855
add byte [ecx], dh
add byte [eax], al
pop edi
pop edx
push edx
add byte [edi + 0x61], ch
pushal
jb 0x409866
add byte [ebp], bh
jno 0x4097f8
outsb dx, byte [esi]
insb byte es:[edi], dx
pop esi
jp 0x409857
jp 0x409878
pop esi
jae 0x409802
insd dword es:[edi], dx
pop esi
jp 0x409856
add byte [esi + 0x78], ah
add byte [edx + 0x6c], ch
jge 0x409885
jge 0x409810
add byte [eax + 6], ch
retf
hlt
add byte [eax], al
push edi
add byte [eax], al
add byte [bp + di + 0x67], bh
add byte [edi], ah
jnp 0x4098a8
add byte [eax + 0x67], bl
push ebx
add byte [edx], ah
jb 0x4098be
add byte gs:[esi], ch
add byte [esi + ebx*2], dh
jns 0x4098b3
push ebp
pop ebx
add byte [bx + si], dl
jl 0x4098b3
je 0x40985f
jns 0x4098c7
jno 0x409863
add byte [ebx + 0x71], bh
jle 0x4098bd
jae 0x4098c6
jns 0x4098d8
insb byte es:[edi], dx
jb 0x40986f
add byte [edx + 0x67], bh
pop esi
push eax
pop ebp
je 0x4098ef
push ebp
jg 0x40987a
add byte [ebp + 0x61], ch
jo 0x40987f
jge 0x4098fa
popaw
add byte [ebx + ebp*2], dh
push ebp
imul eax, dword [eax], 0x55
bound esp, qword [eax + ebp*2 + 0x71]
push edx
add al, ch
call 0x4098f6
popal
add byte [eax + 0x50], bl
jge 0x40990c
outsb dx, byte [esi]
jg 0x409900
ja 0x4098fc
jae 0x40990f
push edi
jns 0x4098a3
je 0x40990d
push ecx
push cx
pop esi
ja 0x409901
jns 0x409917
push 0x5f
push esi
jo 0x4098b2
imul ebp, dword [ecx + 0x74], 0x797000
arpl word [ebx + 0x6c], dx
imul esi, dword [eax + eax + 0x70], 0x53630079
insb byte es:[edi], dx
push esi
outsd dx, dword [esi]
jle 0x40991a
pop esp
jno 0x409914
jbe 0x4098c5
push eax
push 0x51
push ecx
pop edx
imul ebx, dword [ebx + 0x6d], 0x7a
pushal
pop esi
push ebp
add byte [ebx + 0x7b], dl
jae 0x40993e
insd dword es:[edi], dx
bound esp, qword [ecx + 0x65]
add byte [esi + 0x68], dl
add byte gs:[esi + 0x68], dl
pop ebx
add byte [ebp + 0x5b], ch
add byte [edi + 0x60], ah
jl 0x4098e6
add byte [esi], dl
insb byte es:[edi], dx
jge 0x4098ed
add byte [edx + 0x65], bl
pop esp
pop esp
insd dword es:[edi], dx
jae 0x4098f4
jb 0x4098f6
call fcn.0040aea8
push esi
add byte [esi + 0x6a], dl
xor edx, dword [ebx - 0x18]
push 0x33
push ebx
call fcn.0040d918
adc al, 0x40
inc eax
add byte [eax], al
push edi
push edx
mov ebx, dword [ebp + 8]
push 0xfff1852a
call fcn.0040fce8
int1
invalid
aad 0x63
add byte [eax], al
push ebx
pop ecx
mov edx, dword [ebx + 0x3c]
add ebx, edx
cmp al, 3
fimul dword [ebx - 0x449787a5]
add byte ss:[eax], al
mov ebx, dword [ebx + 0x78]
push 0x36bb
call fcn.0040d6f8
add ebx, ecx
push dword [ebx + 0x18]
pop dword [ebp - 8]
mov edi, dword [ebx + 0x20]
add edi, ecx
push ecx
call fcn.0040f918
xor esi, esi
push 0x43
push 0xffffffffffffffa6
call fcn.0040d858
lea edx, [edi + esi*4]
mov edx, dword [edx]
add edx, ecx
xor eax, eax
push 0x67
call 0x4099c9
push ebp
js 0x4099d5
jb 0x4099bd
add byte [eax], al
insd dword es:[edi], dx
pop esi
push 0x64
add byte [bx + si], al
add byte [ebp + 0x6f], ah
imul edx, dword fs:[ebx + 0x62], 0
je 0x4099d9
add byte fs:[esi + 0x6e], ah
add byte [ecx], ch
jne 0x4099e0
pop ebp
add byte [ebx], ah
push 0x65
jno 0x4099ef
add byte [esi + 0x69], dh
jl 0x409a01
push esp
outsb dx, byte [esi]
imul esi, dword [esi + 0x6a], 0x745d73
add byte [edi], dh
imul edx, dword [edx], 0x605371
push esp
push ebx
jns 0x409a05
add byte [eax], al
pop edi
outsd dx, dword [esi]
bound esi, qword [esi + 0x57]
insd dword es:[edi], dx
push esi
jbe 0x4099fb
pop ebp
add byte [ebx + 0x66], dh
push esi
jg 0x409a24
arpl word [eax + eax], dx
push ecx
pop esi
ja 0x409a0a
jne 0x409a2a
push 0x5b596e00
pop ebx
jne 0x409a17
jb 0x4099c5
pop esi
jg 0x409a1b
add al, ch
mov edx, 0xc1000056
rol byte [edi], 0x68
retf
rol eax, 7
push 0xfffd86cb
push 0xfff5ae8e
call fcn.0040f3b8
jmp [eax - 0x72]
cmc
invalid
nop
push edx
push 0x62
call fcn.0040ac28
nop
xor al, byte [edx]
nop
call 0x409a66
jle 0x409a61
add byte [eax], al
add byte [esi + 0x6d], bh
push ecx
jp 0x409a59
push ebp
push esi
arpl word [eax + 0x7f], di
add byte [ebx + 0x7c], ch
add byte [eax], al
jg 0x4099fd
imul edi, dword [eax + eax], 0
add byte [esi], ah
add byte [eax], al
add byte [ebp], dh
jne 0x409a07
outsd dx, dword [esi]
push 0x76705560
push ebp
jo 0x409a83
js 0x409a87
outsb dx, byte [esi]
add byte [eax], al
jge 0x409a8f
jae 0x409a16
add byte [eax + 0x6d], bl
pop eax
insd dword es:[edi], dx
add byte [eax], al
push ebp
add byte [ebp + 0x67], ah
push 0x7c5664
jg 0x409aa3
add byte [edx + 0x78], ah
pop esi
jnp 0x409a96
add byte [ebp + 0x5d], ch
outsb dx, byte [esi]
push ebx
imul ebp, dword [ecx + 0x6e], 0x5a650053
add byte [ecx + 0x55], ch
jl 0x409a96
push edi
add byte [edx + 0x5d], bl
imul edx, dword [esi + 0x6d], 0x7e6e005f
pop esi
add byte [eax + 0x71], bl
pop esp
popal
outsb dx, byte [esi]
jge 0x409a51
jae 0x409abf
pop ebp
js 0x409a56
add byte [esi + 0x5c], bh
pop ebp
add byte [eax + 0x5d], ch
outsd dx, dword [esi]
popal
add byte [eax], dl
jbe 0x409a64
add byte [esi], dh
add byte [eax], al
call fcn.0040b728
nop
inc edx
nop
nop
cmp byte [edx], 0
jne 0x4099ce
nop
nop
push 0x77
call fcn.0040e978
cmp eax, dword [ebp + 0xc]
je 0x409b6b
or al, 0xf
test cl, ah
add byte [eax], al
add byte [eax - 0x6f6fb970], dl
nop
nop
inc esi
nop
nop
cmp esi, dword [ebp - 8]
jb 0x409945
invalid
call 0x409b07
ja 0x409b16
ja 0x409af9
insd dword es:[edi], dx
push eax
imul edi, dword [esi + 0x64], 0x64590075
pop edx
ja 0x409b21
insb byte es:[edi], dx
jb 0x409b03
add byte [eax], al
add byte [edx + 0x7e], ah
insb byte es:[edi], dx
pop esp
pop esp
push esp
jbe 0x409b30
jb 0x409b13
pop ecx
jne 0x409b16
push ebp
outsd dx, dword [esi]
pop esp
add byte gs:[ecx + 0x6a], ah
jge 0x409b20
add byte [esi], dl
pop ebx
push edi
add byte [edx], ch
jbe 0x409b42
push ebp
add byte [edx + 0x6a], bh
pop eax
je 0x409b53
push 0x76
add byte [eax], al
push ebp
push dx
jle 0x409b35
push esp
jo 0x409b45
push edx
pop eax
arpl word [edi], bp
add byte [eax], al
add byte [ebp + 0x50], ch
add byte [eax], al
imul eax, dword [eax], 0x59
push ebx
add byte [esi + 0x63], ah
add byte [edi + 0x6c], bh
jo 0x409b5e
pop ebp
pop edi
popal
pop esi
jg 0x409b7e
add al, ch
pop edx
add byte [eax], al
add byte [ecx + 0x78], dl
push ebp
pushal
add byte [ebx + 0x6c], ch
insb byte es:[edi], dx
imul edi, dword [esi + 0x6e], 0x6e
outsb dx, byte [esi]
outsb dx, byte [esi]
jp 0x409b6c
push esp
jne 0x409b81
jno 0x409b1f
outsd dx, dword [esi]
pop edi
pop esp
outsb dx, byte [esi]
push eax
jb 0x409b86
pop edi
jle 0x409b9c
push ebp
pop eax
jge 0x409ba6
pop ebx
insd dword es:[edi], dx
pushal
push esi
pop ebp
jns 0x409b8f
jns 0x409b9c
add byte [ecx + 0x6f], dh
add byte [ecx + 0x6f], dh
jno 0x409b9a
push esi
outsd dx, dword [esi]
js 0x409b3f
insb byte es:[edi], dx
arpl word [eax], ax
outsb dx, byte [esi]
imul eax, dword [eax], 0x76
insb byte es:[edi], dx
jbe 0x409bb3
popal
pop esi
pop eax
push ecx
ja 0x409bb1
add byte [ebp + 0x55], ch
bound ebp, qword [ebx + 0x63]
push esi
ja 0x409bac
imul esp, dword [ebx + 0x56], 0x77
arpl word [esi + 0x77], dx
push esp
pop esi
pop edi
jne 0x409bd7
jne 0x409bd4
jne 0x409bd8
js 0x409bd8
ja 0x409bd0
outsb dx, byte [esi]
push esp
imul esp, dword [eax], 0xffffffe8
mov ebp, 0x8b000063
mov edx, dword [ebx + 0x24]
add edx, ecx
movzx edx, word [edx + esi*2]
mov eax, dword [ebx + 0x1c]
add eax, ecx
mov eax, dword [eax + edx*4]
add eax, ecx
push ebx
and al, 3
ror dword [edi], 1
mov bh, 0x14
jb 0x409b00
inc ebx
sbb al, 3
ror dword [ebx - 0x3efc6ffc], 0x68
loopne 0x409b54
push 0xfffad3e0
call fcn.0040e9d8
cli
invalid
add byte [eax], al
pop edx
pop edi
pop esi
pop ebx
leave
ret 8
add byte [ebp - 0x75], dl
in al, dx
sub esp, 0x80
push ecx
push ebx
mov dword [ebp - 0x18], 0xbb1396
inc ebp
call 0xfbaf38
xor ecx, ebx
xor ecx, dword [ebp + 8]
mov dword [ebp - 8], 0xbb13a2
xor ebx, dword [ebp + 8]
or bh, al
inc ebp
clc
mov byte [0x3300bb13], al
pop ebp
or byte [ecx + 0xfd4fa], al
add byte [esi + 0x14], dh
mov ebx, 0x85d3300
cmp edx, 0xfd4
aam 0xf
add byte [eax], al
jbe 0x409bcd
add ecx, 0xdb64a48f
mov byte [ebp - 0x1c], 0xf9
lea ebx, [edx + ebx*8 - 0x4a0463a8]
add ebx, dword [ebp - 8]
test edi, 4
ja 0x409c27
add byte [eax], al
add byte [edi + 0x52], dh
push edx
sub ecx, dword [ebp - 0x10]
lock or ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x10]
mov ebx, edx
xor ecx, dword [ebp + 8]
and ebx, ecx
add byte [ebp - 0x14], 0x74
test ebx, edx
je 0x409c25
mov dword [ebp - 0xc], 0xbb13e5
xor ebx, eax
xor ecx, ebx
mov ecx, 0xc6f63e44
mov ecx, edi
and ebx, eax
cmp eax, 0x680
je 0x409c19
sub dword [ebp - 0x18], ebx
mov dword [ebp - 0x18], edi
cmp edi, 0x30
jbe 0x409c50
mov byte [ebp - 0x1c], 0x61
sub byte [ebp - 0x14], 0x1b
sub dword [ebp - 4], edi
lea ebx, [ecx]
add dword [ebp - 4], edi
mov byte [ebp - 0x14], 0x48
sub ebx, edx
cmp ebx, 0xfe0
ja 0x409c4d
sub ebx, dword [ebp - 0x18]
add ecx, 0xc00604f5
add dword [ebp - 4], ebx
mov dword [ebp - 0xc], edi
add dword [ebp - 0xc], 0xbb1439
cmp esi, 0xee0
jbe 0x409c6e
add ecx, dword [ebp + 8]
and ebx, eax
sub dword [ebp - 0x10], 0xbb144d
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x18], 0xbb1457
sub dword [ebp - 0x10], ebx
sub ecx, edx
add ecx, 0x38abaa4d
xor ecx, edi
jbe 0x409c87
test eax, edi
ja 0x409c78
or ebx, ecx
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 8], esi
add ecx, dword [ebp - 0xc]
or ecx, dword [ebp - 4]
or ebx, dword [ebp - 0x1c]
add ebx, ebx
test esi, edi
jne 0x409c9b
mov ebx, eax
and ecx, dword [ebp + 8]
sub ebx, dword [ebp + 8]
mov dword [ebp - 0x14], edi
add dword [ebp - 0x10], edi
and ecx, dword [ebp - 8]
mov byte [ebp - 8], 0x6d
cmp esi, 0x678
jne 0x409cad
xor ecx, dword [ebp - 0x10]
add dword [ebp - 0x14], edi
add ecx, ecx
mov dword [ebp - 0x1c], edi
sub dword [ebp - 0x14], eax
sub byte [ebp - 0x10], 0x96
mov dword [ebp - 0xc], ecx
pop ebx
pop ecx
leave
ret 4