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

Disassembly:
and al, 0x64
test byte [eax + eax - 0x39], cl
inc eax
or al, 1
add byte [eax], al
add bh, al
add byte [eax], al
add byte [eax], al
add al, ch
push ebx
jmp 0x40630b
invalid
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
xor edx, edx
mov dword [ebp - 8], ecx
push esi
lea esi, [ecx + 0x15c]
mov dword [ebp - 4], edx
push edi
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], 1
cmp byte [esi + 9], dl
jne 0x44128e
mov edi, dword [esi + 4]
cmp dword [edi + 0x2c], 8
mov ebx, dword [edi + 0xc]
mov dword [ebp - 0xc], edi
je 0x441299
mov eax, dword [edi + 0x1c]
cmp eax, 5
je 0x4412c0
cmp eax, 0xf
je 0x44134a
mov eax, dword [ebx + 0xc]
lea esi, [edi + 0x20]
mov dword [ebp - 0x14], esi
cmp eax, 1
jne 0x4413d2
mov eax, dword [esi + 0xc]
cmp eax, 1
jne 0x4414c9
mov ecx, dword [ebx]
mov eax, dword [esi]
lea edx, [eax + ecx]
mov dword [ebp - 0x14], edx
cdq
mov dword [ebp - 4], eax
mov eax, ecx
mov dword [ebp - 0xc], edx
mov ecx, dword [ebp - 0xc]
cdq
add dword [ebp - 4], eax
mov eax, dword [ebp - 0x14]
adc ecx, edx
cdq
cmp eax, dword [ebp - 4]
jne 0x4414b5
cmp edx, ecx
jne 0x4414b5
mov eax, dword [ebp - 0x14]
mov dword [ebx], eax
mov edx, dword [ebp - 0x28]
mov dword [ebp - 4], edx
mov ecx, dword [ebx + 8]
test ecx, ecx
jne 0x4414fe
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x441516
mov eax, dword [ebp - 0x1c]
cmp eax, 5
jge 0x44152e
fldz
fst qword [ebp - 0x28]
mov dword [ebp - 0x1c], 3
mov ecx, dword [esi + 0xc]
mov eax, ecx
shl eax, 6
mov eax, dword [eax + 0x4a5f14]
cmp eax, 3
jne 0x4415d0
cmp ecx, 1
jne 0x441685
fild dword [esi]
fcompp
fnstsw ax
test ah, 5
jnp 0x441609
mov ecx, dword [edi + 0x1c]
mov eax, ecx
shl eax, 4
add eax, dword [ebx + 0xc]
mov eax, dword [eax*4 + 0x4a5f08]
cmp eax, 1
jne 0x408d2a
cmp ecx, 1
jne 0x44180a
mov eax, dword [edi + 0x10]
mov dword [ebp - 4], eax
mov esi, eax
mov eax, dword [ebx + 0xc]
cmp eax, 1
jne 0x4418ad
mov eax, dword [ebx]
cmp esi, eax
jl 0x408ce3
mov ecx, dword [edi + 4]
mov eax, dword [ebp + 0xc]
inc ecx
mov dword [eax], ecx
mov ecx, dword [ebp - 0x20]
test ecx, ecx
jne 0x441957
mov eax, dword [ebp - 0x1c]
cmp eax, 5
jge 0x441969
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov esi, dword [ebp - 8]
add esi, 0x15c
cmp byte [esi + 9], 0
jne 0x44193b
cmp byte [esi + 8], 0
jne 0x408d5b
mov edi, dword [esi + 4]
mov ebx, dword [edi + 0x30]
test edi, edi
je 0x408d1f
lea ecx, [edi + 0x20]
call fcn.00404dc0
lea ecx, [edi + 0x10]
call fcn.00404dc0
push edi
call fcn.0042105c
add esp, 4
mov dword [esi + 4], ebx
mov byte [esi + 9], 0
dec dword [esi]
jmp 0x408cc3
sub eax, 2
cmp eax, 7
ja case.0x408d32.5
jmp dword [eax*4 + 0x408d64]
lea ecx, [edi + 0x10]
call fcn.00405087
fstp qword [ebp - 0x18]
mov ecx, ebx
call fcn.00405087
fcomp qword [ebp - 0x18]
fnstsw ax
test ah, 0x41
jne case.0x408d32.5
jmp 0x408ce3
mov byte [esi + 9], 1
jmp 0x408d26
add byte [edi], cl
test esp, eax
jnp 0x40cf50
add al, ch
xchg ebx, eax
inc eax
add dword [eax], eax
pop ecx
test eax, eax
je 0x40cf66
lea ecx, [esp + 0x3c]
push ecx
mov ecx, eax
call fcn.00420ae2
mov ebx, eax
mov dword [edi + 0x44c], ebx
inc dword [edi + 0x454]
lea ecx, [esp + 0x3c]
mov dword [edi + 0x450], ebx
call fcn.00411cb6
lea ecx, [esp + 0x1c]
call fcn.00411cb6
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
add byte [eax], al
add byte [ebp + 0x10487], cl
add bh, al
inc esi
or al, 1
add byte [eax], al
add bh, al
inc esp
and al, 0x40
enter 0x4938, 0
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], 0x4937e0
mov dword [esp + 0x58], 0x493798
mov dword [esp + 0x64], 0x493948
mov dword [esp + 0x68], 0x4c77b0
mov dword [esp + 0x6c], 0x4935b8
mov dword [esp + 0x70], 0x4939f0
mov dword [esp + 0x74], 0x4c77b4
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], 0x493688
mov dword [esp + 0x80], 0x4c77c4
mov dword [esp + 0x84], 0x493ac4
mov dword [esp + 0x88], 0x493828
add byte [eax], al
les edi, [edx]
dec ecx
add bh, al
test byte [eax + ecx*4], ah
add byte [eax], al
add byte [eax], ch
cmp byte [ecx], cl
mov dword [esp + 0x8c], 0x4c77c0
mov dword [esp + 0x90], 0x493aa8
mov dword [esp + 0x94], 0x493928
mov dword [esp + 0x98], 0x4c77bc
mov dword [esp + 0xa0], 0x493980
mov dword [esp + 0xa4], 0x4c77b8
mov dword [esp + 0xa8], 0x493a74
mov dword [esp + 0xac], 0x493868
mov dword [esp + 0xb8], 0x4936b4
mov dword [esp + 0xc4], 0x4936dc
mov dword [esp + 0xcc], 0x493660
mov dword [esp + 0xd0], 0x4938a8
mov dword [esp + 0xd8], edx
mov dword [esp + 0xdc], 0x493848
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xe8], 0x493908
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], 0x4938e8
lea eax, [edi + 0x91]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xf8], eax
mov ecx, 0x49367c
lea eax, [edi + 0x90]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x104], eax
mov edx, 0x4935b8
lea eax, [edi + 0x88]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x110], eax
mov ecx, 0x492cf8
lea eax, [edi + 0x8c]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x11c], eax
lea eax, [edi + 0x118]
mov dword [esp + 0x128], eax
lea eax, [edi + 0x46c]
mov dword [esp + 0x134], eax
lea eax, [edi + 0x2dc]
mov dword [esp + 0x17c], eax
lea eax, [edi + 0x2dd]
mov dword [esp + 0x188], eax
lea eax, [edi + 0x2d8]
mov dword [esp + 0x194], eax
lea eax, [edi + 0x2f4]
mov dword [esp + 0x1ac], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x174], ecx
mov dword [esp + 0x180], ecx
mov dword [esp + 0x18c], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x108], edx
mov dword [esp + 0x144], edx
xor edx, edx
mov dword [esp + 0x100], 0x493804
mov eax, dword [ecx]
mov dword [esp + 0x10c], 0x493a28
mov dword [esp + 0x118], 0x493774
mov dword [esp + 0x124], 0x493a44
cmp dword [eax + 0xc], 4
mov dword [esp + 0x130], 0x493a5c
mov dword [esp + 0x138], 0x493a98
mov dword [esp + 0x13c], 0x49399c
mov dword [esp + 0x140], 0x4c7896
mov dword [esp + 0x148], 0x493964
mov dword [esp + 0x14c], 0x4c7285
mov dword [esp + 0x154], 0x4939b8
mov dword [esp + 0x158], edx
mov dword [esp + 0x15c], 0x493ae8
mov dword [esp + 0x160], 0x493a0c
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], 0x493adc
mov dword [esp + 0x16c], 0x493888
mov dword [esp + 0x170], 0x4c7930
mov dword [esp + 0x178], 0x493704
mov dword [esp + 0x184], 0x493750
mov dword [esp + 0x190], 0x4937bc
mov dword [esp + 0x198], 0x493a88
mov dword [esp + 0x19c], 0x49372c
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], 0x493ad0
mov dword [esp + 0x1a8], str.O_n__
mov dword [esp + 0x1b0], 0x493660
mov dword [esp + 0xc], ecx
jne 0x40d58e
mov edx, dword [esp + 0x1c]
push 0x2a
pop eax
cmp word [edx], ax
je 0x40d5e3
cmp dword [esp + 0x20], 1
je 0x40d5b3
mov ecx, dword [ecx + 4]
push 0x29
call fcn.0040514e
test al, al
jne 0x40d5be
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 4]
call fcn.0040502b
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x1c]
push 0x1e
xor esi, esi
pop edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], edi
lea eax, [edi + esi]
sar eax, 1
mov dword [esp + 0x14], eax
imul eax, eax, 0xc
push dword [esp + eax + 0x40]
push edx
call fcn.0042312d
pop ecx
test eax, eax
mov eax, dword [esp + 0x18]
pop ecx
js 0x40d59f
jg 0x40d5c8
cmp esi, edi
mov dword [esp + 0x14], esi
mov esi, dword [ebp + 0xc]
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x3c]
jg 0x40d5e3
and dword [esp + 0x10], 0
imul ecx, eax, 0xc
mov dword [esp + 0xc], ecx
mov eax, dword [esp + ecx + 0x48]
mov dword [esp + 0x1c], eax
movzx edx, word [eax]
cmp edx, 0x64
jne 0x444b41
lea ecx, [esp + 0x14]
mov dword [esp + 0x10], 1
add byte [eax], al
add byte [ecx - 0x73], dl
push esp
and al, 0x14
mov ecx, eax
call fcn.00420c65
pop ecx
lea ecx, [esp + 0x28]
call fcn.00404dc0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], 1
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + ecx + 0x48]
inc dword [esp + 0x10]
movzx eax, word [edx + eax*2]
cmp eax, 0x69
jg 0x444eb3
je 0x444e5e
sub eax, 0x23
je 0x444c8c
sub eax, 0x30
je 0x444c27
sub eax, 0xf
jne 0x444bbf
mov eax, dword [esp + ecx + 0x44]
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0xc], eax
movzx esi, byte [eax]
call fcn.00404dc0
mov eax, dword [ebp + 0xc]
xor ecx, ecx
inc ecx
mov dword [eax + 0xc], ecx
mov dword [eax], esi
cmp dword [esp + 0x20], ecx
jbe 0x40d565
mov eax, dword [ebp + 8]
push 0x29
mov ecx, dword [eax + 4]
mov ecx, dword [ecx + 4]
call fcn.0040514e
test al, al
jne 0x40d5cd
cmp dword [esp + 0x18], 0
mov ecx, dword [esp + 0xc]
setne al
mov byte [ecx], al
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + eax*2]
movzx eax, word [edx]
mov dword [esp + 0x1c], edx
test eax, eax
jne 0x40d5da
lea ecx, [esp + 0x28]
call fcn.00404dc0
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
push edx
mov eax, dword [edi]
push 1
mov ecx, dword [eax + 4]
add ecx, edi
call fcn.00457135
jmp 0x40d57b
lea edi, [eax - 1]
mov edx, dword [esp + 0x1c]
cmp esi, edi
jle 0x40d44e
jmp 0x40d478
xor ecx, ecx
mov dword [esp + 0x18], ecx
jmp 0x40d441
and dword [esp + 0x18], 0
jmp 0x40d43d
lea esi, [eax + 1]
jmp 0x40d5a2
lea ecx, [esp + 0x28]
call fcn.0040502b
test eax, eax
jmp 0x40d55c
cmp eax, 0x2a
je 0x40d441
push 0
jmp 0x40d58f
div dword [0x8d510000]
inc esp
and al, 0x30
push eax
lea ecx, [esp + 0x68]
call fcn.00411138
lea ecx, [esp + 0x2c]
call fcn.00411cb6
push ebx
lea ecx, [esp + 0x64]
call fcn.004111ea
xor esi, esi
mov dword [esp + 0x2c], 0x492c18
lea eax, [edi - 1]
mov edi, dword [esp + 0x58]
mov ecx, esi
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x54], eax
cmp dword [ebx + 4], esi
jle 0x40e5b7
add al, 0x2b
xor byte [ebp + 0x27504], cl
add byte [eax], al
inc ebp
or byte [ebx + 0x408b10ec], al
add al, 0x53
push esi
push edi
mov esi, dword [eax]
mov ecx, esi
call fcn.00404d37
mov eax, dword [esi + 8]
mov esi, dword [ebp + 8]
mov ebx, dword [eax + 4]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 4]
call fcn.0040502b
mov edi, eax
test edi, edi
js 0x40efc8
cmp edi, ebx
jg 0x40efcc
sub ebx, edi
lea ecx, [ebp - 0x10]
push ebx
call fcn.0041162d
mov eax, dword [esi + 4]
mov esi, dword [eax]
mov ecx, esi
call fcn.00404d37
push ebx
push edi
push dword [esi + 8]
lea ecx, [ebp - 0x10]
call fcn.00411462
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push eax
call fcn.00404f3c
lea ecx, [ebp - 0x10]
call fcn.00411cb6
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret 8
xor edi, edi
jmp 0x40ef81
mov edi, ebx
jmp 0x40ef85
clc
fstp qword [ebp - 8]
call fcn.00405087
fsubr qword [ebp - 8]
fstp qword [ebp - 8]
call fcn.00420932
fdivr qword [ebp - 8]
mov esi, dword [ebp + 0xc]
mov ecx, esi
fstp qword [ebp - 8]
call fcn.00404dc0
fld qword [ebp - 8]
fstp qword [esi]
mov dword [esi + 0xc], 3
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret 8
add byte [ebx - 0x2f783831], cl
or dword [eax], eax
add byte [eax + eax], al
add byte [eax], al
call fcn.00452db1
push 0
push esi
push esi
push dword [edi + 0x7c]
mov ecx, edi
mov dword [edi + 0x9d0], 3
push 0
call fcn.00452db1
push 0
push esi
push esi
push 0x490980
or dword [ecx], ecx
push 0
mov ecx, edi
mov dword [edi + 0x9d0], 5
call fcn.00452db1
push 0
push esi
push esi
push dword [edi + 0x6c]
mov ecx, edi
mov dword [edi + 0x9d0], 2
push 0
call fcn.00452db1
mov eax, dword [ebp - 4]
mov dword [edi + 0x9d0], eax
mov byte [edi + 8], 1
jmp 0x441329
push dword [edi]
call ebx
test eax, eax
jle 0x40602d
xor ebx, ebx
cmp byte [edi + 4], bl
jne 0x441341
mov byte [edi + 6], bl
jmp 0x44136b
cmp byte [edi + 6], 0
je 0x44136b
lea eax, [ebp - 0x3c]
mov byte [0x4c7287], 1
push eax
push ebx
push 4
push dword [edi]
mov dword [ebp - 0x38], 1
mov dword [ebp - 0x30], 8
call dword [0x4905d0]
lea eax, [ebp - 0xc]
push eax
call dword [0x4905bc]
push dword [ebp + 8]
call dword [0x4905d8]
push ebx
push dword [ebp + 8]
push dword [ebp - 8]
push dword [ebp - 0xc]
push ebx
push dword [edi]
call dword [0x4905b8]
push ebx
push ebx
push ebx
push dword [ebp + 8]
call dword [0x490690]
mov ecx, edi
call fcn.00405af8
jmp 0x40602d
cmpsb byte [esi], byte es:[edi]
dec ebp
cld
inc dword [eax - 0x7d]
rol dword [edx], 0x3b
inc edi
add al, 0x72
retf 0x95e9
mov byte [esi + 0x1c], bl
movzx eax, byte [ebp - 0x3c]
shr eax, 6
and eax, ebx
mov byte [esi + 0x38], al
jmp 0x406200
jle 0x4414bb
add dh, byte [ebp - 0x17]
mov byte [esi + 0x1d], bl
mov byte [esi + 0x1f], bl
cmp byte [ebp - 0x3a], bl
je 0x4414a0
pop esi
sbb eax, 0x381f5e88
pop ebp
invalid
mov byte [esi + 0x1e], bl
jmp 0x4414a3
fst dword [edi + 0x33]
inc dword [ebp + 0x570e75f6]
push 0x4bb154
call dword [0x4905e0]
mov esi, eax
push ebx
call dword [0x4905dc]
test eax, eax
je 0x4414f3
push 9
push ebx
call dword [case.0x458446.2]
push ebx
mov dword [ebp - 0xc], edi
call dword [0x4905d8]
test eax, eax
jne 0x4415ce
ror byte [edi], 0x85
leave
add byte [eax], al
add byte [edi + 0x56], dl
push edi
push esi
mov esi, dword [0x490660]
call esi
mov edi, eax
mov dword [ebp - 8], edi
call dword [0x490180]
push 0
add byte [ecx], 0x49
add byte [edx], ch
push ebx
mov dword [ebp + 8], eax
call esi
mov esi, dword [0x490664]
push 1
push eax
push dword [ebp + 8]
mov dword [ebp - 4], eax
call esi
push 1
push edi
push dword [ebp + 8]
call esi
push 1
push dword [ebp - 4]
push edi
call esi
push ebx
call dword [0x4905d8]
test eax, eax
jne 0x4415aa
mov edi, dword [0x49068c]
push eax
push eax
push eax
push 0x12
call edi
mov esi, dword [0x4905e8]
push eax
push 0x12
call esi
push 0
push 2
push 0
push 0x12
call edi
push eax
push 0x12
call esi
xor eax, eax
push eax
push eax
push eax
push 0x12
call edi
push eax
push 0x12
call esi
push 0
push 2
push 0
push 0x12
call edi
push eax
push 0x12
call esi
push ebx
call dword [0x4905d8]
mov esi, dword [0x490664]
mov edi, dword [ebp - 8]
test eax, eax
je 0x4415af
push 4
jmp 0x4415ac
push 3
pop ebx
jmp 0x4415b2
mov ebx, dword [ebp - 0xc]
push 0
push dword [ebp - 4]
push dword [ebp + 8]
call esi
push 0
push edi
push dword [ebp + 8]
call esi
push 0
push dword [ebp - 4]
push edi
call esi
jmp 0x4415d1
push 2
pop ebx
mov eax, ebx
pop edi
jmp 0x4062f8
add byte [ebp + 0x73850fc0], al
dec ebp
cld
call dword [eax - 0x17]
pushal
dec ebp
cld
push dword [ebx]
rol byte [ecx + 0x4350fc7d], 0x52
inc ebp
setne al
dec eax
and eax, 0xffffffe7
add eax, 0xfffffffc
jmp 0x40cf49
mov dword [esi], edi
jmp 0x40cf47
mov eax, 0x758bfffc
or al, 0x85
sal byte [eax + esi*4 - 0xa], cl
inc edx
add al, 1
je 0x44163f
mov edi, dword [ebx + 4]
add edi, 8
jmp 0x44163f
mov edi, dword [ebp - 0xc]
jmp 0x44178b
add esi, 4
jmp 0x441902
invalid
add byte [edi], cl
mov bh, 0x46
add cl, byte [ebp + 0x39664634]
je 0x441793
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
cmp word [esi], di
je 0x441793
jmp 0x441773
inc dword [ebx - 0x7bf0fc08]
sbb dword [ecx + 0x776afffc], edi
pop edi
movzx eax, word [esi + 2]
lea esi, [esi + eax*2]
cmp word [esi], di
je 0x4417c9
jmp 0x441773
jne 0x4417f6
push dword [ebp + 0xc]
push edx
jmp 0x4417fc
or bh, bh
jne 0x441806
push 1
lea edx, [esi + 2]
jmp 0x44180b
or al, 0x52
lea edx, [esi + 4]
add al, 0x8b
iretd
mov ecx, edi
call 0x40d2b1
add esp, 0xc
mov esi, eax
jmp 0x441902
cmp dword [ebp + 8], 0
je 0x44178b
or byte [edi + 0x1f], 0x80
jmp 0x44178b
or byte [edi + 1], 2
or byte [edi + 4], 1
or byte [edi + 0x14], 1
jmp 0x44189a
mov eax, dword [ebp - 4]
jmp 0x40d122
lea esi, [esi + 4]
cmp ecx, 0xff
stc
inc dword [eax]
add byte [eax], al
jbe 0x441948
or byte [edi + 0x1f], 0x80
jmp 0x441957
mov edx, ecx
mov al, 1
shr edx, 3
and ecx, 7
shl al, cl
or byte [edx + edi], al
mov ecx, dword [esi]
cmp ecx, 0xffffffff
jb 0x441937
jmp 0x40d0bf
push 1
jmp 0x40d0b2
mov ecx, ebx
lea edx, [ebp - 0xf8]
call fcn.0047fafe
mov di, word [ebp - 0xf8]
mov ebx, eax
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x18], edi
jmp 0x40e43b
cmp word [esi + 2], di
jne 0x444b48
add esi, eax
mov dword [ebp - 4], esi
invalid
jne 0x444b3f
cmp word [esi], dx
je 0x444b38
cmp word [esi], dx
mov ebx, dword [ebp - 0x18]
mov edx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x30]
jne 0x40eefe
cmp word [esi + 2], 0x51
jne 0x40eefe
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
jne 0x444b96
push 0x45
pop eax
cmp word [esi + 2], ax
push 4
pop eax
jne 0x444b96
add esi, eax
push 0x5c
pop eax
mov dword [ebp - 4], esi
cmp word [esi], ax
push 4
pop eax
je 0x444b5a
jmp 0x40eefe
mov edi, dword [ebp - 0xc]
mov dword [ebp - 0x30], edi
jmp 0x40eefe
and edi, ecx
shl edi, 0xa
movzx eax, word [esi]
and eax, ecx
mov dword [ebp - 4], esi
or edi, eax
add edi, 0x10000
mov dword [ebp - 0x18], edi
jge 0x444ba9
jmp 0x40ef39
ror dword [edi], 0x85
and eax, 0x8dfffca3
push ebp
nop
mov ecx, esi
call fcn.0047ec02
test eax, eax
je 0x40ef53
mov eax, dword [ebp + 0xc]
mov dword [eax], 0x53
jmp 0x44500a
add eax, dword [eax]
add byte [ebx - 0xefc5b83], cl
cmp dword [ebp - 0x24], 0
mov eax, dword [ebp - 0x54]
mov dword [ebp - 4], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x58], eax
je 0x444d5c
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0xfffffffe
jne 0x444cb8
or ecx, 0xffffffff
mov dword [ebp - 0x2c], ecx
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x7c], eax
test esi, esi
je 0x444d1f
test dl, cl
je 0x444d21
mov eax, ebx
mov edi, 0x80
cdq
idiv edi
movzx eax, byte [eax + 0x4b4b10]
shl eax, 7
add eax, edx
movzx eax, word [eax*2 + 0x4a6810]
movzx eax, byte [eax*8 + 0x4a3f23]
test eax, eax
je 0x444d1c
mov edx, dword [ebp - 8]
push 0xf
pop ecx
push 2
mov word [edx], cx
pop ecx
add edx, ecx
push 9
pop ebx
mov word [edx], bx
add edx, ecx
mov word [edx], ax
add edx, ecx
mov dword [ebp - 8], edx
jmp 0x40e52f
mov edx, dword [ebp - 0xc]
test dl, cl
mov edi, dword [ebp - 8]
push 0
pop eax
push 0x1f
pop ecx
setne al
add eax, ecx
push 2
pop ecx
mov word [edi], ax
add edi, ecx
test esi, esi
je 0x444d54
cmp ebx, 0xffff
jbe 0x444d54
mov edx, edi
mov ecx, ebx
call fcn.0047fafe
lea edi, [edi + eax*2]
jmp 0x40e846
mov word [edi], bx
jmp 0x40effc
cmp dword [ebp - 0x3c], 0
je 0x444d6e
cmp ebx, 0xffff
ja 0x443d6f
mov di, bx
jmp 0x40e8f4
div byte [ebp + 0x11]
push 0x20
xor eax, eax
pop ecx
not byte [ebp + eax - 0xd4]
inc eax
cmp eax, ecx
jb 0x444e66
push 0x20
pop eax
push eax
lea eax, [ebp - 0xd4]
push eax
push dword [ebp - 8]
call fcn.00411470
add esp, 0xc
add edi, 0x20
mov ebx, dword [ebp - 0x10]
mov eax, edi
sub eax, ebx
mov dword [ebp - 8], edi
sar eax, 1
mov word [ebx + 2], ax
jmp 0x40e532
or al, 0xc7
add byte [ebx], cl
add byte [eax], al
jmp 0x44500a