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

Disassembly:
lea ecx, [esp + 0x18]
call fcn.0040cfa0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
push dword [ebp + 0xc]
mov ecx, esi
push edi
call fcn.0040dd50
test ebx, ebx
js 0x40bf15
jmp 0x45048e
in al, 0xf8
sub esp, 0xb4
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 0x10]
push edi
mov eax, dword [ebx + 4]
mov edi, ecx
sub esp, 0x10
mov dword [esp + 0x1c], edi
mov edx, dword [esi]
mov dword [esp + 0x3c], 3
mov eax, dword [eax + edx*4]
mov edx, esp
movsx ecx, word [eax + 0xa]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov eax, dword [ecx + 8]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xc]
lea ecx, [edi + 0x13c]
mov dword [edx + 0xc], eax
inc dword [eax]
call fcn.0040adf0
mov dword [esp + 0x5c], eax
test eax, eax
je 0x4504b6
mov eax, dword [edi + 0x150]
mov ecx, dword [esi]
mov dword [esp + 0x84], eax
inc ecx
xor eax, eax
mov dword [esp + 0x7c], 1
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x60], 0x49cc38
mov dword [esp + 0x48], 0x49cc3c
mov dword [esi], ecx
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x47
jne 0x4504ce
lea eax, [esp + 0x10]
mov dword [esp + 0x1c], ecx
push eax
lea eax, [esp + 0x20]
mov dword [esp + 0x14], ecx
push eax
push esi
push ebx
mov ecx, edi
call fcn.0040ac91
test eax, eax
js 0x450a2d
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + 0x10]
cmp eax, dword [0x4d23a0]
jg 0x4504e0
test eax, eax
jle 0x4504e0
shl eax, 4
add eax, dword [0x4d23dc]
mov esi, dword [eax + 4]
mov dword [esp + 0x34], eax
mov eax, dword [esi]
cmp word [eax + 8], 0
jne 0x40c07e
cmp dword [eax], 0x2b
je 0x4504e7
mov eax, 3
mov edx, dword [esp + 0x10]
xor ebx, ebx
cmp dword [ecx + 0x14], ebx
mov edi, eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x40], ebx
inc eax
mov dword [esp + 0x3c], ebx
jg 0x40c670
mov bl, byte [ebp + 8]
test bl, bl
jne 0x4505a9
mov esi, dword [esp + 0xc]
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x40]
cmp eax, dword [edi + 0x18]
jl 0x450a14
cmp eax, dword [edi + 0x14]
jg 0x450a14
inc edi
adc al, 0xf
invalid
cmp ecx, edx
jne 0x450a14
mov eax, dword [edi + 0x10]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], eax
test eax, eax
js 0x4506ff
lea eax, [esp + 0x48]
mov ecx, 0x4d2380
push eax
call fcn.0040ad81
mov esi, dword [esp + 0x48]
test esi, esi
jne 0x45070c
cmp dword [edi + 0x14], 1
jge 0x40c3c3
mov ebx, dword [esp + 0xc]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [ebx + 0x150], eax
xor eax, eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x9c], eax
mov byte [esp + 0xa0], al
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
mov byte [esp + 0xb8], al
mov eax, dword [ebx]
mov dword [esp + 0x94], 1
mov byte [esp + 0x98], 0
mov dword [esp + 0xb4], 1
mov edi, dword [eax + 4]
add edi, ebx
cmp byte [edi + 0xd], 0
jne 0x45091a
push 0x40
call fcn.0041fddb
mov esi, eax
add esp, 4
lea eax, [esp + 0x88]
mov ecx, esi
push eax
mov dword [esi + 8], 0
call fcn.004100e0
lea eax, [esp + 0xa8]
mov byte [esi + 0x10], 0
lea ecx, [esi + 0x20]
mov dword [esi + 0x14], 0
mov byte [esi + 0x18], 0
push eax
mov dword [ecx + 8], 0
call fcn.004100e0
mov byte [esi + 0x30], 0
mov eax, dword [edi + 8]
mov dword [esi + 0x38], eax
mov dword [edi + 8], esi
mov eax, dword [esp + 0x5c]
lea esi, [ebx + 0x164]
inc dword [edi + 4]
mov edi, dword [ebx + 0xf8]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ebx, dword [esi]
inc eax
push eax
call fcn.0040d760
cmp ebx, dword [esi]
add byte [ebx - 0x74f3dbb4], cl
inc eax
adc byte [ebx - 0x17afbfe2], cl
pop edi
adc eax, 0x1e3b0000
jb 0x450933
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx]
mov dword [ebx + 0xf8], edi
mov eax, dword [eax + 4]
mov cl, byte [eax + ebx + 0xd]
mov edi, dword [eax + ebx + 8]
test cl, cl
jne 0x450943
mov eax, edi
cmp byte [eax + 0x10], 0
mov eax, dword [ebp + 0x18]
je 0x40c93d
mov byte [eax], 1
test cl, cl
jne 0x45094b
mov esi, dword [ebp + 0x14]
cmp esi, edi
je 0x40c262
cmp dword [esi + 0xc], 4
je 0x450953
mov ecx, esi
call fcn.0040cfa0
push edi
mov ecx, esi
call fcn.004100e0
mov edx, dword [ebx]
mov eax, dword [edx + 4]
mov cl, byte [eax + ebx + 0xd]
mov eax, dword [eax + ebx + 8]
inc edx
add al, 0x8a
dec esp
sbb byte [0x818448b], cl
test cl, cl
jne 0x450976
inc esi
add al, 0
mov esi, eax
cmp byte [esi + 0x18], 0
jne 0x45097e
test cl, cl
jne 0x4509a0
mov esi, eax
cmp byte [esi + 0x30], 0
jne 0x4509a8
add al, 0
mov eax, dword [edx + 4]
cmp byte [eax + ebx + 0xd], 0
lea esi, [eax + ebx]
jne 0x4509d1
cmp byte [esi + 0xc], 0
jne 0x4509ed
jle 0x40c2b7
add byte [edi], cl
test dword [ebx], edi
inc edi
add al, 0
mov edi, dword [esi + 8]
mov ebx, dword [edi + 0x38]
test edi, edi
je 0x40c2d6
cmp byte [ebp - 0x72e58b01], al
dec edi
and al, ch
fmul qword [eax + eax]
add byte [ebx + 0xcd5e8cf], cl
add byte [eax], al
lea ecx, [edi + 0x20]
call fcn.0040cfa0
mov ecx, edi
call fcn.0040cfa0
push 0x40
push edi
call fcn.0041fdcd
add esp, 8
mov dword [esi + 8], ebx
xor al, al
mov ebx, dword [esp + 0xc]
mov byte [esi + 0xd], al
dec dword [esi + 4]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
add eax, ebx
cmp byte [eax + 0xd], 0
mov ecx, dword [eax + 8]
jne 0x4509f4
dec eax
or byte [edi], cl
test ebx, edi
inc esi
add al, 0
mov edx, dword [esp + 0x18]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov ecx, dword [eax + 8]
jne 0x4509fc
mov byte [ecx + 0x18], 0
mov eax, dword [ebx]
mov esi, dword [eax + 4]
add esi, ebx
cmp byte [esi + 0xd], 0
mov ecx, dword [esi + 8]
jne 0x450a04
lea eax, [esp + 0xa8]
add ecx, 0x20
push eax
call fcn.0040aceb
cmp byte [esi + 0xd], 0
mov eax, dword [esi + 8]
jne 0x450a0c
mov ecx, 0x4d2380
mov byte [eax + 0x30], 0
call fcn.0040a704
mov eax, dword [esp + 0x84]
lea ecx, [esp + 0xa8]
mov dword [ebx + 0x150], eax
xor ebx, ebx
mov dword [esp + 0x18], ebx
call fcn.0040cfa0
lea ecx, [esp + 0x88]
call fcn.0040cfa0
lea ecx, [esp + 0x70]
call fcn.0040cfa0
mov edi, dword [esp + 0x38]
xor esi, esi
test edi, edi
jne 0x40c876
test esp, esp
add al, 0
add bh, bh
je 0x40c3b9
push dword [esp + 0x24]
call fcn.0041fe14
and al, 0xe8
jns 0x40c3d3
add dword [eax], eax
mov eax, dword [esp + 0x34]
add esp, 4
xor edi, edi
test eax, eax
jne 0x40c8a2
push dword [esp + 0x20]
call fcn.0041fe14
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
ret
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
sub eax, ecx
mov dword [esp + 0x44], 1
add byte [eax], al
mov dword [esp + 0x18], ecx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x34]
xor ebx, ebx
mov esi, dword [esp + 0x2c]
lea edx, [esi*4]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + edx]
cmp word [eax + 8], bx
je 0x450758
mov edx, dword [esp + 0x2c]
xor esi, esi
inc edx
mov dword [esp + 0x10], 1
mov edi, dword [esp + 0x10]
lea edx, [ecx + edx*4]
jmp 0x40c420
adc byte [ebp + 0x7eb9114], cl
lea esp, [esp]
mov eax, dword [edx]
movzx eax, word [eax + 8]
cmp ax, 0x47
je 0x450787
cmp ax, 0x48
je 0x40c92b
cmp ax, 0x40
jne 0x40c934
test esi, esi
jne 0x40c934
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x44]
cmp edi, dword [esp + 0x40]
jg 0x4508a5
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x80]
mov eax, dword [eax + edx]
cmp byte [eax], 0
jne 0x45078d
mov eax, dword [esp + 0x2c]
or ebx, 0x200
cmp dword [0x4d2380], 0
mov edx, dword [edx]
mov dword [esp + 0x3c], edx
mov eax, dword [ecx + eax*4]
mov edi, dword [eax]
je 0x4507c4
xor al, al
test al, al
jne 0x4507cb
cmp byte [0x4d2389], al
jne 0x4507e1
mov esi, dword [0x4d2384]
push esi
push edi
mov dword [esp + 0x60], esi
call fcn.0040bbe0
test al, al
jne 0x4507ee
add byte [ecx + 0xff00e3], al
add byte [edx + 0x20], ch
and ebx, 0xff00
push 0x20
mov dword [esp + 0x2c], ebx
call fcn.0041fddb
mov ebx, eax
add esp, 4
push 0x10
mov dword [ebx + 4], 0
mov dword [ebx + 8], 8
call fcn.0041fe0b
add esp, 4
mov dword [ebx], eax
xor ecx, ecx
mov word [eax], cx
push 4
call fcn.0041fddb
mov ecx, eax
add esp, 4
mov dword [ecx], 1
mov dword [ebx + 0xc], ecx
cmp ebx, edi
je 0x40c559
mov edx, dword [ecx]
cmp edx, 1
jg 0x45080d
xor al, al
test al, al
jne 0x450814
mov esi, dword [edi + 4]
mov dword [ebx + 4], esi
lea ecx, [esi + 1]
cmp dword [ebx + 8], ecx
jb 0x450836
mov al, 1
test al, al
je 0x45083d
lea eax, [esi*2 + 2]
push eax
push dword [edi]
push dword [ebx]
call fcn.00420e20
add esp, 0xc
les ecx, [ebx + ecx*4]
inc esp
and al, 0x28
mov eax, dword [esp + 0x28]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.0041fddb
add esp, 4
mov esi, eax
mov ecx, esi
push dword [esp + 0x3c]
mov dword [esi + 8], 0
call fcn.004100e0
mov eax, dword [esp + 0x58]
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x1c], 0
mov dword [ebx + 0x18], 0
mov eax, dword [eax]
mov dword [esp + 0x28], eax
test eax, eax
je 0x40c639
lea eax, [esp + 0x28]
push eax
push ebx
call fcn.0040bbe0
mov ecx, dword [esp + 0x28]
mov edi, dword [ebx + 4]
mov edx, dword [ecx + 4]
test edi, edi
je 0x450887
test edx, edx
je 0x45088f
cmp edi, edx
jb 0x40c95c
mov edx, dword [ecx]
mov esi, dword [ebx]
test edi, edi
je 0x40c987
lea ebx, [ebx]
movzx eax, word [esi]
mov dword [esp + 0x48], eax
movzx eax, word [edx]
mov ecx, eax
mov dword [esp + 0x3c], ecx
movzx ecx, word [esi]
cmp cx, ax
jne 0x40c608
add esi, 2
add edx, 2
sub edi, 1
jne 0x40c5e0
jmp 0x40c987
mov eax, dword [esp + 0x3c]
cmp word [esp + 0x48], ax
sbb eax, eax
and eax, 0xfffffffe
inc eax
test eax, eax
js 0x40c9ce
jle 0x45089c
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x1c]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x18], ecx
mov dword [ecx + 0x1c], 0
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x10]
mov dword [eax], ebx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x5c]
inc eax
add dword [esp + 0x18], 4
add eax, esi
mov dword [esp + 0x2c], eax
and al, 0x2c
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
cmp eax, dword [ecx + 0x14]
jle 0x40c3e0
jmp 0x40c10d
cmp ecx, edx
jae 0x40c0a0
mov eax, dword [esi + edi*4]
lea edx, [edi*4]
inc ebx
mov dword [esp + 0x58], 0
mov dword [esp + 0x40], ebx
xor bl, bl
cmp word [eax + 8], 0
je 0x4504f5
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + ecx*4]
cmp word [eax + 8], 0x33
je 0x40c6ae
xor bl, bl
mov eax, dword [esp + 0x44]
cmp dword [esp + 0x38], eax
je 0x40c7da
push 1
call fcn.0041fddb
mov ecx, dword [esp + 0x3c]
add esp, 4
mov edx, dword [esp + 0x24]
mov byte [eax], bl
mov dword [edx + ecx*4], eax
inc ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x70]
call fcn.0040cfa0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x7c], 1
mov dword [esp + 0x70], 0
cmp dword [esp + 0x30], eax
je 0x40c828
push 0x10
call fcn.0041fddb
mov esi, eax
add esp, 4
lea eax, [esp + 0x70]
mov ecx, esi
push eax
mov dword [esi + 8], 0
call fcn.004100e0
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
push eax
lea eax, [esp + 0x20]
mov dword [edx + ecx*4], esi
inc ecx
test bl, bl
mov dword [esp + 0x34], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0x6c], ecx
jne 0x450543
push dword [edx + ecx*4 - 4]
mov ecx, dword [esp + 0x14]
push eax
push ebx
call fcn.0040ec40
test eax, eax
js 0x450a2d
mov ecx, dword [esp + 0x34]
inc edi
mov ecx, dword [ecx + 4]
mov eax, dword [ecx + edi*4]
cmp word [eax + 8], 0x41
je 0x40c99c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10]
cmp ecx, edx
je 0x40c0a0
mov esi, dword [ebx + 4]
mov eax, dword [esi + ecx*4]
cmp word [eax + 8], 0x40
jne 0x450591
lea eax, [ecx + 1]
cmp eax, edx
je 0x450591
mov ecx, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], ecx
mov esi, dword [eax + 4]
mov eax, dword [esi + edi*4]
cmp word [eax + 8], 0x40
jne 0x40c7bb
inc edi
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x3c], eax
cmp eax, dword [ebx + 0x14]
jge 0x40c0a0
mov ebx, dword [esp + 0x40]
jmp 0x40c670
add eax, eax
mov dword [esp + 0x44], eax
cmp eax, 8
jae 0x40c7ee
mov eax, 8
mov dword [esp + 0x44], eax
xor ecx, ecx
mov dword [esp + 0x54], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
add eax, eax
mov dword [esp + 0x28], eax
cmp eax, 8
jae 0x40c83c
mov eax, 8
mov dword [esp + 0x28], eax
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041fe0b
mov edx, dword [esp + 0x24]
add esp, 4
mov esi, eax
test edx, edx
jne 0x40ca4a
mov eax, esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x64], eax
jmp 0x40c703
mov ebx, dword [esp + 0x24]
lea ebx, [ebx]
push 1
push dword [ebx + esi*4]
call fcn.0041fdcd
mov dword [ebx + esi*4], 0
add esp, 8
inc esi
cmp esi, edi
jb 0x40c880
mov ebx, dword [esp + 0x18]
jmp 0x40c392
mov ecx, dword [esp + 0x20]
mov esi, dword [ecx + edi*4]
test esi, esi
je 0x40c916
mov ebx, dword [esi + 8]
test ebx, ebx
je 0x40c8ea
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov eax, dword [ebx + 0xc]
cmp dword [eax], 0
jne 0x40c8d8
push dword [ebx]
call fcn.0041fe14
add esp, 4
push 4
push dword [ebx + 0xc]
call fcn.0041fdcd
add esp, 8
push 0x10
push ebx
call fcn.0041fdcd
add esp, 8
mov dword [esi + 8], 0
mov eax, dword [esi + 0xc]
cmp eax, 5
jge 0x40c9e7
push 0x10
push esi
mov dword [esi + 0xc], 1
mov dword [esi], 0
call fcn.0041fdcd
mov eax, dword [esp + 0x38]
add esp, 8
xor al, 1
add byte [ebx - 0x7cc7dbbc], cl
les ecx, [eax]
mov ecx, dword [esp + 0x20]
mov dword [ecx + edi*4], 0
inc edi
cmp edi, eax
jb 0x40c8a6
mov ebx, dword [esp + 0x18]
jmp 0x40c3ac
sub esi, 1
js 0x40c44c
inc edi
add edx, 4
jmp 0x40c420
mov esi, dword [ebp + 0x14]
mov ecx, esi
mov byte [eax], 0
call fcn.0040cfa0
mov esi, dword [ecx]
mov edi, dword [ebx]
test edx, edx
je 0x40c987
movzx eax, word [edi]
mov dword [esp + 0x3c], eax
movzx eax, word [esi]
mov ecx, eax
mov dword [esp + 0x48], ecx
movzx ecx, word [edi]
cmp cx, ax
jne 0x40c98e
add edi, 2
add esi, 2
sub edx, 1
jne 0x40c964
xor eax, eax
jmp 0x40c617
mov eax, dword [esp + 0x48]
cmp word [esp + 0x3c], ax
jmp 0x40c611
inc edi
xor edx, edx
nop
mov eax, dword [ecx + edi*4]
movzx eax, word [eax + 8]
cmp ax, 0x47
je 0x450568
cmp ax, 0x48
je 0x40ca79
cmp ax, 0x40
je 0x40c9c4
inc edi
jmp 0x40c9a0
test edx, edx
je 0x40c777
jmp 0x40c9c1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], ecx
mov dword [ecx + 0x18], 0
jmp 0x40c639
sub eax, 5
cmp eax, 0xa
ja case.0x40c9f3.6
jmp dword [eax*4 + 0x40cac0]
mov ebx, dword [esi]
test ebx, ebx
je case.0x40c9f3.6
mov ecx, ebx
call fcn.0041ce17
push 4
push ebx
call fcn.0041fdcd
add esp, 8
jmp case.0x40c9f3.6
ror byte [edi], 0x84
std
invalid
mov eax, dword [esp + 0x30]
test eax, eax
je 0x40c867
lea ecx, [eax*4]
push ecx
push edx
push esi
call fcn.00420e20
add esp, 0xc
push dword [esp + 0x20]
call fcn.0041fe14
add esp, 4
jmp 0x40c867
sub edx, 1
js 0x40c777
jmp 0x40c9c1
mov ebx, dword [esi]
test ebx, ebx
je case.0x40c9f3.6
lea ecx, [ebx + 8]
call fcn.0040988f
push 0x18
push ebx
call fcn.0041fdcd
add esp, 8
jmp case.0x40c9f3.6
mov ecx, dword [esi]
test ecx, ecx
je case.0x40c9f3.6
mov eax, dword [ecx]
push 1
call dword [eax]
jmp case.0x40c9f3.6
adc al, 0xf
mov edi, 0x68500a40
cmpsd dword [esi], dword es:[edi]
add byte [eax], al
add bl, ch
test bl, bl
je 0x45045c
mov edx, dword [edx + 0x10]
push edx
lea eax, [esp + 0x14]
mov ecx, esi
push eax
push edi
call int.004868d3
jmp 0x450499
adc al, 0x50
push edi
push ecx
mov ecx, esi
call fcn.00411322
mov ebx, eax
jmp 0x40bf44
mov edx, 0xbf0ffffb
inc eax
or dl, byte [eax + 0x6a]
mov edi, 0x6a500a40
jb 0x450448
into
call fcn.004735ae
jmp 0x40bf27
push 0x85078b85
call fcn.004735ae
jmp 0xed2f04a5
push dword [esp + 0x18]
mov ecx, edi
push 0x6f
outsd dx, dword [esi]
call fcn.004735ae
jmp 0x450a3f
jle 0x4504b2
sti
jne 0x4504b2
add al, 0x50
add eax, dword [eax]
mov dword [esp + 0x2c], eax
jmp 0x40c095
adc al, 0xbd
add byte [ebx - 0x7c99f7bb], cl
js 0x450555
add byte [edi + esi*4 - 0x17], dh
pop ecx
sar ebx, 0x75
push 0
push 1
push dword [esp + 0x64]
push dword [edx + ecx*4 - 4]
mov ecx, dword [esp + 0x20]
push eax
push ebx
call 0x3141d229
invalid
mov ebp, 0xfe30fccc
invalid
inc eax
or dl, byte [eax + 0x68]
xchg ecx, eax
add byte [ecx + ebp - 0x18], dh
adc byte [eax], dh
add al, byte [eax]
jmp 0x450a3f
or al, 0xf
mov edi, 0x6a500a40
outsd dx, dword [esi]
call fcn.004735ae
jmp 0x450a3f
adc byte [ecx - 0x74cfdbbc], cl
inc esp
and al, 0x64
mov dword [esp + 0x20], eax
jmp 0x40c0c1
add byte [ebp + 0xd], dh
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x450753
push ecx
call fcn.0041aa54
mov ecx, esi
call 0x764098a1
push 0x20
push esi
call 0x7641fddf
loopne 0x4507d9
inc edi
xchg ecx, eax
sti
jne 0x4507c5
and byte [esi - 0x18], dl
jge 0x450756
cld
jne 0x450743
jne 0x45076d
or cl, ch
stosd dword es:[edi], eax
mov ecx, 0x400fffb
adc dword [ebx + 0x24f88300], ecx
jmp 0x40c115
add byte [ecx + edx], al
mov eax, dword [eax]
cmp eax, 0x24
je 0x45077e
cmp eax, 0x1e
jne 0x45077f
mov ebx, 0xc1c10100
inc esi
mov eax, dword [ecx + esi*4]
lea edx, [esi*4 + 0x8458b00]
cmp word [eax + 8], 0
je 0x45076a
inc ebp
or byte [esi - 0x7d], ah
js 0x450795
add byte [edx + ebx*8 - 0x77], dh
je 0x4507b7
mov dword [esp + 0x2c], esi
jmp 0x40c413
sub al, 0xe9
jp 0x450753
sti
inc dword [esi - 0x17]
cmpsd dword [esi], dword es:[edi]
sar ebx, 0xff
mov eax, dword [edx]
cmp dword [eax + 0xc], 6
jne 0x4507ab
mov edx, dword [eax]
jmp 0x4507ad
xor edx, edx
mov esi, dword [esp + 0x2c]
or ebx, 0xc1c18b00
push 1
push ebx
push edx
mov eax, dword [ecx + esi*4]
push dword [eax]
call fcn.0046f06e
add byte [esp + edi*8 + 0x140840f], al
test ah, bh
je 0x45090d
add byte [eax], al
mov esi, dword [esp + 0x10]
jmp 0x7640c655
into
mov esp, 0x5253fffb
push edi
mov ecx, 0x4d2370
call fcn.0040a9a5
mov esi, dword [esp + 0x10]
jo 0x450806
dec ebp
add al, ch
mov ebx, 0x8bfffba1
je 0x450811
adc cl, ch
bound edi, qword [esi - 0x7b5e0005]
and ecx, dword [ebp]
mov esi, dword [eax + 8]
jmp 0x40c4c5
jmp 0x40c655
into
mov esp, 0x74fffffb
and al, 0x3c
mov ecx, dword [ecx + 0x14]
cmp al, 0x8b
dec ecx
adc al, 0xe8
out 0xa4, eax
call fcn.0040acfd
mov esi, dword [esp + 0x10]
jmp 0x7640c655
sti
dec dword [ebx - 0x16efdb8c]
mov esi, 0x1b075fb
jmp 0x7640c533
inc edx
dec dword [ecx + 0x4478b01]
mov dword [ebx + 4], eax
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
mov eax, dword [edi]
mov dword [ebx], eax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0xc], eax
inc dword [eax]
jmp 0x7640c56b
or byte [ebx - 0x74fc76f9], cl
inc edi
or al, 0x89
inc ebx
or al, 0xff
add cl, ch
and edi, dword [ebp - 0x3fcd8a05]
jmp 0x3140c54f
in al, dx
add al, 0x89
add esi, dword [ebx]
leave
mov word [eax + esi*2], cx
or al, 0x70
mov esi, dword [ebx + 4]
jmp 0x40c557
test dword [ebx - 0x3f], eax
sti
jne 0x450827
dec dword [edi]
test dword [edx - 0x168a0443], edx
sub bh, byte [ebp + 0x5c8bfffb]
xchg edx, eax
mov ebp, 0x2ae975fb
mov ebp, 0x5c8bfffb
and al, 0x28
jmp 0x40c64b
sti
dec dword [ebx - 0x74cbdbbc]
dec esp
and al, 0xc
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
movsx eax, word [eax + 0xa]
push eax
push 0x79
call fcn.004735ae
jmp 0x450a3f
mov al, 0xf
mov edi, 0x6a500a40
jns 0x45090b
xchg dword [edx + eax], ebp
add cl, ch
adc eax, dword [ecx]
add byte [eax], al
add byte [edi + 8], cl
lea eax, [esp + 0x15fe8]
pop edi
add dword [eax], eax
push eax
call fcn.0047321b
mov byte [edi + 0xd], 0
jmp 0x40c1f0
sti
dec dword [ebx + 0x1f0ce8ce]
sti
invalid
sti
dec dword [ebx - 0x2016c7b9]
mov eax, 0x7f8bfffb
cmp cl, ch
out dx, eax
mov eax, 0x7fe075fb
or al, 4
jne 0x40c265
add al, 0xf
test esi, esi
mov eax, 0x478bfffb
or byte [ebx + 0x48d084e], cl
mov dl, byte [eax - 9]
mov eax, 0xe850fffb
mov eax, dword [edi + 8]
mov ecx, dword [esi + 8]
lea eax, [edx + ecx*4]
add al, 0x8a
push eax
idiv dword [eax - 0x17af0005]
call fcn.0040a8d9
jmp 0x40c274
push esi
lahf
sti
invalid
and al, 0x18
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0xc]
jmp 0x40c295
add byte [ebx - 0x16f3dba4], cl
jecxz 0x450968
sti
dec dword [ebx - 0x1a16c790]
mov eax, 0xc984fffb
je 0x4509c1
mov eax, dword [eax + 0x38]
add eax, 0x20
lea ecx, [esp + 0xa8]
push eax
call fcn.0040acfd
mov eax, dword [esp + 0x9c]
mov edx, dword [ebx]
mov dword [esp + 0x18], eax
jmp 0x40c2a9
push ecx
call fcn.004019f5
mov dword [esi + 8], edi
jle 0x4509fe
mov byte [esi + 0xd], 0
jmp 0x7640c2ba
mov eax, 0x1b075fb
jmp 0x40c2f1
jne 0x4509b0
add ecx, ebp
jmp 0x4509bc
sti
dec dword [ebx - 0x216c7b7]
mov eax, 0x498bfffb
cmp cl, ch
or dword [ecx + 0x498bfffb], edi
sti
dec dword [ebx + 0x9e93849]
mov ecx, 0x498bfffb
sti
dec dword [ebx + 0x19e93849]
mov ecx, 0x408bfffb
cmp cl, ch
sbb dword [ecx + 0x408bfffb], edi
cmp cl, ch
mov ecx, 0xdb84fffb
jne case.0x40c9f3.8
push dword [esp + 0x18]
mov ecx, esi
push 0x70
call fcn.004735ae
sbb byte [ebx - 0x178f9532], cl
ja 0x450a60
add al, byte [eax]
jmp 0x450a3f
mov eax, dword [ebp + 0x10]
add dword [eax], 0xfffffffe
or ebx, 0xffffffff
mov dword [esp + 0x18], ebx
jmp 0x40c38d
sti
call dword [eax - 1]
adc eax, 0x49c470
push 0x10
push dword [esi]
jmp 0x40ca20
add al, 0xe8
mov bh, 0xf3
cld
clc
call 0x8af0f60
push dword [esi]
jmp 0x40ca20
leave
je 0x7640c908
push ecx
call 0x131fd6b
jmp 0x40c908