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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x288
mov bl, byte [ebp + 0x10]
lea eax, [ebp + 0xc]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xf4]
push 0x190
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0xbc], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x2e], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x8c], 0x48d3a0
mov dword [esp + 0x90], 0x4e2ed8
mov dword [esp + 0x94], ebp
mov dword [esp + 0x9c], esp
mov dword [esp + 0x98], 0x459cab
mov dword [esp + 0x78], 1
lea eax, [esp + 0x74]
push eax
call fcn.0048e380
add esp, 4
lea esi, [esp + 0x50]
lea ecx, [esp + 0x60]
movzx edx, bl
lea edi, [esp + 0xa8]
lea eax, [esp + 0xbc]
lea ebx, [esp + 0x70]
push ebx
push esi
push ecx
lea ecx, [esp + 0x4c]
push ecx
push edi
lea ecx, [esp + 0x42]
push ecx
lea ecx, [esp + 0x47]
push ecx
push eax
push dword [ebp + 0x14]
push edx
call fcn.0045a340
add esp, 0x28
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov eax, dword [eax]
mov dword [edx], eax
shr ecx, 9
and ecx, 1
mov dword [esp + 0xe4], ecx
mov eax, dword [ebp + 0x30]
mov dword [esp + 0xb8], eax
lea edx, [esp + 0xf4]
lea eax, [esp + 0x284]
mov dword [esp + 0x6c], eax
mov ecx, 0x42cc50
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
jmp 0x458876
mov ebx, dword [esp]
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x28]
cmp eax, dword [ecx]
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x38]
je 0x4598a2
nop word cs:[eax + eax]
nop dword [eax]
mov esi, dword [esp + 0x24]
add esi, 1
mov eax, esi
mov dword [esp + 0x24], esi
cmp esi, 4
je 0x45986c
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov esi, 0
test ecx, ecx
je 0x4588d0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x4588a0
mov esi, ecx
jmp 0x4588d0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 2
call eax
cmp eax, 0xffffffff
je 0x4588bb
mov eax, dword [ebp + 8]
mov esi, dword [eax]
jmp 0x4588d0
mov eax, dword [ebp + 8]
mov dword [eax], 0
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x458920
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], ecx
jne 0x458901
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 3
call eax
cmp eax, 0xffffffff
mov esi, dword [esp + 0xc]
je 0x458912
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test esi, esi
je 0x458937
jmp 0x45986c
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop dword [eax]
mov dword [esp], 0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test esi, esi
je 0x45986c
mov eax, dword [esp + 0x24]
movsx eax, byte [esp + eax + 0xbc]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp eax, 4
ja case.default.0x458954
jmp dword [eax*4 + 0x459e98]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp dword [esp + 0x24], 3
jne 0x458ea1
jmp 0x45986c
mov edi, dword [esp + 4]
mov dword [esp], 0
mov edx, dword [esp + 8]
jmp 0x458996
add eax, 1
mov dword [ecx + 0xc], eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, 0
test ecx, ecx
je 0x458a00
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x4589c0
mov edx, ecx
jmp 0x458a00
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], esi
mov dword [esp + 0x78], 0x18
call eax
cmp eax, 0xffffffff
je 0x4589f1
mov eax, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x458a00
mov eax, dword [ebp + 8]
mov dword [eax], 0
xor edx, edx
nop dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x458a60
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x458a44
mov dword [esp + 0xc], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], esi
mov dword [esp + 0x78], 0x19
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 0xc]
je 0x458a4d
test edx, edx
je 0x458a68
jmp 0x458d0a
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop word [eax + eax]
test edx, edx
je 0x458d0a
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x458a80
movzx ebx, byte [eax]
test bl, bl
jns 0x458a95
jmp 0x458aa8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1a
call eax
mov ebx, eax
test bl, bl
js 0x458aa8
movzx eax, bl
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
test byte [ecx + eax*2], 4
jne 0x458b50
movzx eax, byte [esp + 0xa8]
test al, 1
je 0x458ad0
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x458ada
jmp 0x458d0a
shr eax, 1
test eax, eax
je 0x458d0a
cmp dword [esp], 0
je 0x458d0a
cmp byte [esp + 0x2e], bl
jne 0x458d0a
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jne 0x458bd1
mov eax, dword [esp + 0x28]
sub ecx, dword [esp + 0x20]
lea esi, [ecx + ecx]
test ecx, ecx
mov edx, ecx
mov ecx, 4
cmove esi, ecx
mov edi, edx
cmp edx, 0x7fffffff
mov ecx, 0xffffffff
cmovae esi, ecx
cmp eax, 0x42cc50
je 0x458bac
push esi
push dword [esp + 0x24]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
jmp 0x458bb5
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xb8]
cmp eax, ecx
je 0x458b68
mov edx, dword [ebp + 0x2c]
jmp 0x458c15
mov eax, dword [ebp + 0x28]
mov edx, ecx
mov ecx, eax
mov eax, dword [eax]
sub edx, eax
lea esi, [edx + edx]
test edx, edx
mov edi, 1
cmove esi, edi
mov edi, edx
cmp edx, 0x7fffffff
mov edx, 0xffffffff
cmovae esi, edx
cmp dword [ecx + 4], 0x42cc50
je 0x458be6
push esi
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x458bf7
jmp 0x459c52
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov edx, eax
test eax, eax
je 0x459c45
and esi, 0xfffffffc
mov eax, edi
add eax, edx
add esi, edx
mov edi, fcn.00473f10
mov dword [esp + 0x6c], esi
mov ecx, dword [esp]
mov dword [eax], ecx
add eax, 4
mov dword [esp + 0x10], eax
mov dword [esp], 0
jmp 0x458c28
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x459c52
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], fcn.00473f10
add edi, eax
mov edx, dword [ebp + 0x2c]
mov dword [edx], edi
add esi, dword [ecx]
mov eax, edi
mov dword [esp + 0xb8], esi
lea ecx, [eax + 1]
mov dword [edx], ecx
mov byte [eax], bl
add dword [esp], 1
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x458990
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0xd0], edx
mov dword [esp + 0xd4], edi
mov dword [esp + 0x78], 0x1d
mov dword [esp + 0xc], edx
mov dword [esp + 0x3c], edi
call eax
mov edi, dword [esp + 0x3c]
mov edx, dword [esp + 0xc]
jmp 0x458996
cmp dword [esp + 0x14], 0
jne 0x458d49
cmp dword [esp + 0x24], 2
jb 0x458d49
sete al
cmp byte [esp + 0xbf], 0
setne ah
and ah, al
or ah, byte [esp + 0xe4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp ah, 1
jne 0x458fd1
mov dh, byte [esp + 0x40]
test dh, 1
sete dl
mov eax, dword [esp + 0x48]
mov edi, eax
lea ecx, [esp + 0x41]
cmove edi, ecx
jmp 0x458d6b
movzx ecx, byte [esp + 0x60]
mov bh, cl
and bh, 1
je 0x458d9a
mov eax, dword [esp + 0x64]
jmp 0x458d9e
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp dword [esp + 0x24], 3
je 0x45986c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x458df8
movzx eax, byte [eax]
jmp 0x458e07
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
je 0x4591ed
cmp dword [esp], 0
je 0x4591ed
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x6c]
cmp dword [esp + 0x10], edx
je 0x458ff7
mov edx, dword [esp + 0x10]
jmp 0x4591e1
mov dh, byte [esp + 0x40]
test dh, 1
sete dl
mov eax, dword [esp + 0x48]
mov edi, eax
lea ecx, [esp + 0x41]
cmove edi, ecx
cmp dword [esp + 0x24], 0
je 0x459545
lea ecx, [esp + 0xbc]
mov esi, dword [esp + 0x24]
cmp byte [esi + ecx - 1], 1
ja 0x459545
test dl, dl
mov dword [esp + 0xc], eax
mov byte [esp + 0x3c], dh
jne 0x459041
mov esi, dword [esp + 0x44]
jmp 0x459048
mov eax, ecx
shr eax, 1
movzx edx, byte [esp + 0x50]
mov bl, dl
and bl, 1
mov dword [esp], ecx
mov dword [esp + 0xc], edx
je 0x458db7
mov edi, dword [esp + 0x54]
jmp 0x458dbb
mov edi, edx
shr edi, 1
mov esi, eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
add esi, edi
je case.default.0x458954
test eax, eax
je 0x458fde
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
test edi, edi
je 0x4590eb
cmp eax, edx
je 0x4590fe
movzx edx, byte [eax]
jmp 0x45911b
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 4
call eax
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
test al, 0x80
jne 0x4598a2
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
movzx eax, word [ecx + eax*2]
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
test al, 8
je 0x4598a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x458e4c
lea edx, [eax + 1]
mov dword [ecx + 0xc], edx
movzx eax, byte [eax]
jmp 0x458e5b
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 5
call eax
mov dword [esp + 0x78], 6
movsx eax, al
lea ecx, [esp + 0xc0]
push eax
call fcn.0046e9c0
jmp 0x458ea1
lea edx, [eax + 1]
mov dword [ecx + 0xc], edx
movzx eax, byte [eax]
mov dword [esp + 0x78], 0xb
movsx eax, al
lea ecx, [esp + 0xc0]
push eax
call fcn.0046e9c0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor esi, esi
test ecx, ecx
je 0x458ee0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x458ec0
mov esi, ecx
jmp 0x458ee0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 7
call eax
cmp eax, 0xffffffff
je 0x458f1c
mov eax, dword [ebp + 8]
mov esi, dword [eax]
nop dword [eax]
mov ecx, dword [esp]
test ecx, ecx
je 0x458f40
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x458f0b
mov dword [esp + 0xc], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 8
call eax
cmp eax, 0xffffffff
mov esi, dword [esp + 0xc]
je 0x458f30
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test esi, esi
je 0x458f57
jmp case.default.0x458954
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [esp]
xor esi, esi
test ecx, ecx
jne 0x458ee7
jmp 0x458f40
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop word [eax + eax]
mov dword [esp], 0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test esi, esi
je case.default.0x458954
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x458f70
movzx eax, byte [eax]
jmp 0x458f7f
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 9
call eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, 0x80
jne case.default.0x458954
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
movzx eax, word [ecx + eax*2]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test al, 8
je case.default.0x458954
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x458e80
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xa
call eax
jmp 0x458e89
mov dword [esp + 0x14], 0
jmp case.default.0x458954
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
cmp edx, dword [ecx + 0x10]
je 0x459164
movzx ecx, byte [edx]
jmp 0x459182
mov eax, dword [esp + 0x28]
sub edx, dword [esp + 0x20]
lea esi, [edx + edx]
test edx, edx
mov ecx, 4
cmove esi, ecx
mov edi, edx
cmp edx, 0x7fffffff
mov ecx, 0xffffffff
cmovae esi, ecx
cmp eax, 0x42cc50
je 0x4591be
push esi
push dword [esp + 0x24]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x4591cf
jmp 0x459c88
mov cl, dh
shr cl, 1
movzx esi, cl
mov edx, edi
test esi, esi
je 0x459079
mov edx, edi
add edi, esi
mov ecx, dword [ebp + 0x24]
mov ebx, dword [ecx + 8]
mov eax, edx
nop word [eax + eax]
movzx ecx, byte [edx]
test cl, cl
js 0x459077
test byte [ebx + ecx*2], 8
je 0x459077
add edx, 1
add esi, 0xffffffff
jne 0x459060
mov edx, edi
mov edi, eax
mov esi, edx
sub esi, edi
movzx ecx, byte [esp + 0xc0]
test cl, 1
je 0x45909a
mov ebx, dword [esp + 0xc4]
cmp esi, ebx
jbe 0x4590a6
jmp 0x45953d
mov ebx, ecx
shr ebx, 1
cmp esi, ebx
ja 0x45953d
mov eax, edi
lea edi, [esp + 0xc1]
test cl, 1
je 0x4590bb
mov edi, dword [esp + 0xc8]
test esi, esi
je 0x4590e4
add edi, ebx
sub edi, esi
xor ecx, ecx
nop word cs:[eax + eax]
nop
movzx ebx, byte [edi + ecx]
cmp bl, byte [eax + ecx]
jne 0x45953b
add ecx, 1
cmp esi, ecx
jne 0x4590d0
mov edi, edx
jmp 0x45953d
cmp eax, edx
je 0x4596e1
movzx ecx, byte [eax]
mov edx, dword [esp]
jmp 0x4596fb
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x10
call eax
mov edx, eax
mov al, byte [esp + 0x60]
mov dword [esp], eax
mov bh, al
and bh, 1
lea esi, [esp + 0x61]
test bh, bh
je 0x459127
mov esi, dword [esp + 0x68]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
cmp byte [esi], dl
jne 0x459154
cmp eax, edi
je 0x45973a
add eax, 1
mov dword [ecx + 0xc], eax
mov eax, dword [esp]
test bh, bh
je 0x45975a
jmp 0x459842
cmp eax, edi
je 0x459764
movzx eax, byte [eax]
jmp 0x459773
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0xe
call eax
mov ecx, eax
mov al, byte [esp + 0x50]
mov dword [esp + 0xc], eax
mov ebx, eax
and bl, 1
lea edx, [esp + 0x51]
test bl, bl
je 0x45918e
mov edx, dword [esp + 0x58]
cmp byte [edx], cl
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jne case.default.0x458954
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
cmp edx, dword [ecx + 0x10]
je 0x4597ec
add edx, 1
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0xc]
jmp 0x459804
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x459c88
and esi, 0xfffffffc
mov edx, edi
add edx, eax
add esi, eax
mov ecx, fcn.00473f10
mov dword [esp + 0x6c], esi
mov esi, dword [esp]
mov dword [edx], esi
add edx, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x34], eax
cmp dword [esp + 0x70], 0
jle 0x458832
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor ebx, ebx
test ecx, ecx
je 0x45923d
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459217
mov ebx, ecx
jmp 0x45923d
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1f
call eax
cmp eax, 0xffffffff
je 0x459232
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
jmp 0x45923d
mov eax, dword [ebp + 8]
mov dword [eax], 0
xor ebx, ebx
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
test edx, edx
je 0x45928e
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 0x10]
jne 0x459273
mov dword [esp + 0xc], ebx
mov eax, dword [edx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x20
mov dword [esp], edx
mov ecx, edx
call eax
cmp eax, 0xffffffff
mov edx, dword [esp]
mov ebx, dword [esp + 0xc]
je 0x459284
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
test ebx, ebx
je 0x4592a0
jmp 0x4598a2
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
xor edx, edx
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
test ebx, ebx
je 0x4598a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], edx
je 0x4592b5
movzx eax, byte [eax]
jmp 0x4592c4
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x21
call eax
cmp byte [esp + 0x2f], al
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
jne 0x4598a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x4592eb
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x4592fa
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x22
call eax
cmp dword [esp + 0x70], 0
jle 0x458829
mov ebx, dword [esp]
jmp 0x45931e
add edx, 1
mov dword [ecx + 0xc], edx
test eax, eax
jle 0x45882c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
je 0x459370
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459340
mov edx, ecx
test ebx, ebx
jne 0x459374
jmp 0x4593d0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp], ebx
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x78], 0x23
call eax
cmp eax, 0xffffffff
je 0x4593b0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ebx, dword [esp]
nop word cs:[eax + eax]
test ebx, ebx
je 0x4593d0
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0x10]
jne 0x4593a7
mov dword [esp + 0xc], edx
mov eax, dword [ebx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x78], 0x24
mov dword [esp], ebx
mov ecx, ebx
call eax
cmp eax, 0xffffffff
mov ebx, dword [esp]
mov edx, dword [esp + 0xc]
je 0x4593d0
test edx, edx
je 0x4593da
jmp 0x459894
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ebx, dword [esp]
xor edx, edx
test ebx, ebx
jne 0x459374
nop word cs:[eax + eax]
nop dword [eax]
xor ebx, ebx
test edx, edx
je 0x459894
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], ebx
je 0x459400
movzx eax, byte [eax]
test al, 0x80
je 0x459421
jmp 0x459894
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x78], 0x25
call eax
mov ebx, dword [esp]
test al, 0x80
jne 0x459894
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
test byte [ecx + eax*2], 4
je 0x459894
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, dword [esp + 0xb8]
cmp edx, ecx
jne 0x4594b7
mov eax, dword [ebp + 0x28]
mov edx, ecx
mov ecx, eax
mov eax, dword [eax]
sub edx, eax
lea esi, [edx + edx]
test edx, edx
mov edi, 1
cmove esi, edi
mov edi, edx
cmp edx, 0x7fffffff
mov edx, 0xffffffff
cmovae esi, edx
cmp dword [ecx + 4], 0x42cc50
je 0x459488
push esi
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x459499
jmp 0x459c5f
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x459c5f
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], fcn.00473f10
mov edx, edi
add edx, eax
mov eax, dword [ebp + 0x2c]
mov dword [eax], edx
add esi, dword [ecx]
mov dword [esp + 0xb8], esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x4594d0
movzx eax, byte [eax]
mov esi, dword [ebp + 0x2c]
jmp 0x4594ee
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x78], 0x27
call eax
mov esi, dword [ebp + 0x2c]
mov edx, dword [esi]
mov ebx, dword [esp]
lea ecx, [edx + 1]
mov dword [esi], ecx
mov byte [edx], al
mov eax, dword [esp + 0x70]
add eax, 0xffffffff
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
cmp edx, dword [ecx + 0x10]
jne 0x459310
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x78], 0x28
call eax
mov eax, dword [esp + 0x70]
mov ebx, dword [esp]
test eax, eax
jg 0x45931e
jmp 0x45882c
mov edi, eax
mov eax, dword [esp + 0xc]
mov dh, byte [esp + 0x3c]
mov cl, dh
shr cl, 1
test dh, 1
movzx ecx, cl
cmovne ecx, dword [esp + 0x44]
lea edx, [esp + 0x41]
cmove eax, edx
jmp 0x459568
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add ecx, eax
cmp edi, ecx
je 0x45968e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov dword [esp + 0xc], edi
je 0x4595b0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459590
mov edx, ecx
jmp 0x4595b0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x14
call eax
mov edi, dword [esp + 0xc]
cmp eax, 0xffffffff
je 0x4595eb
mov eax, dword [ebp + 8]
mov edx, dword [eax]
nop dword [eax]
mov ecx, dword [esp]
test ecx, ecx
je 0x459610
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x4595e2
mov dword [esp + 0x3c], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x15
call eax
mov edi, dword [esp + 0xc]
cmp eax, 0xffffffff
mov ecx, dword [esp]
mov edx, dword [esp + 0x3c]
je 0x4595ff
test edx, edx
je 0x459616
jmp 0x45968e
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [esp]
xor edx, edx
test ecx, ecx
jne 0x4595b7
jmp 0x459610
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop dword [eax]
xor ecx, ecx
test edx, edx
je 0x45968e
mov dword [esp], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459630
movzx eax, byte [eax]
jmp 0x459643
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x16
call eax
mov edi, dword [esp + 0xc]
cmp byte [edi], al
jne 0x45968e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459660
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x459673
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x17
call eax
mov edi, dword [esp + 0xc]
add edi, 1
movzx eax, byte [esp + 0x40]
test al, 1
jne 0x459560
shr eax, 1
lea ecx, [esp + 0x41]
jmp 0x459568
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test dword [ebp + 0x18], 0x200
je case.default.0x458954
movzx eax, byte [esp + 0x40]
test al, 1
mov dword [esp + 0xc], edi
je 0x4596ba
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x4596c0
shr eax, 1
lea ebx, [esp + 0x41]
add ebx, eax
mov edi, dword [esp + 4]
mov ecx, dword [esp + 4]
mov esi, dword [esp + 8]
mov edx, dword [esp + 8]
cmp dword [esp + 0xc], ebx
je case.default.0x458954
jmp 0x4598a2
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0xc
call eax
mov ecx, eax
mov dl, byte [esp + 0x60]
mov bh, dl
and bh, 1
lea eax, [esp + 0x61]
test bh, bh
je 0x459707
mov eax, dword [esp + 0x68]
cmp byte [eax], cl
jne 0x45972f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459826
add eax, 1
mov dword [ecx + 0xc], eax
test bh, bh
jne 0x459842
jmp 0x459848
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
jmp 0x45985f
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x11
call eax
mov al, byte [esp + 0x60]
mov bh, al
and bh, 1
test bh, bh
jne 0x459842
shr al, 1
movzx eax, al
jmp 0x45984d
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x12
call eax
mov dl, byte [esp + 0x50]
mov dh, dl
lea ecx, [esp + 0x51]
and dh, 1
je 0x459786
mov ecx, dword [esp + 0x58]
cmp byte [ecx], al
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
jne 0x4598a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x4597ab
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x4597c3
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x13
call eax
mov dl, byte [esp + 0x50]
mov dh, dl
and dh, 1
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
test dh, dh
je 0x4597d3
mov eax, dword [esp + 0x54]
jmp 0x4597d8
shr dl, 1
movzx eax, dl
cmp eax, 2
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x50]
cmovae eax, ecx
mov dword [esp + 0x14], eax
jmp 0x45985f
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xf
call eax
mov cl, byte [esp + 0x50]
mov ebx, ecx
and bl, 1
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
test bl, bl
je 0x459814
mov eax, dword [esp + 0x54]
jmp 0x459819
shr cl, 1
movzx eax, cl
mov ecx, dword [esp + 0x14]
cmp eax, 2
lea eax, [esp + 0x50]
jmp 0x459858
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xd
call eax
mov dl, byte [esp + 0x60]
mov bh, dl
and bh, 1
test bh, bh
je 0x459848
mov eax, dword [esp + 0x64]
jmp 0x45984d
shr dl, 1
movzx eax, dl
mov ecx, dword [esp + 0x14]
cmp eax, 2
lea eax, [esp + 0x60]
cmovae ecx, eax
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jmp case.default.0x458954
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x459a3e
movzx eax, byte [ecx]
test al, 1
je 0x4598ba
mov eax, dword [ecx + 4]
cmp eax, 2
jae 0x4598c5
jmp 0x459a3e
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov eax, dword [ebp + 0x1c]
or byte [eax], 4
mov dword [esp], 0
mov dword [esp + 0x10], esi
mov ebx, edi
jmp 0x459b8e
shr eax, 1
cmp eax, 2
jb 0x459a3e
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov ebx, 1
jmp 0x4598eb
mov eax, dword [ecx + 4]
cmp ebx, eax
jae 0x459a3e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov dword [esp], ebx
je 0x459940
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459910
mov edx, ecx
jmp 0x459940
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x29
call eax
mov ebx, dword [esp]
cmp eax, 0xffffffff
je 0x45992e
mov eax, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x459940
mov eax, dword [ebp + 8]
mov dword [eax], 0
xor edx, edx
nop dword [eax]
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
test ecx, ecx
je 0x459990
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x459971
mov dword [esp + 0x6c], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x2a
call eax
mov ebx, dword [esp]
cmp eax, 0xffffffff
mov edx, dword [esp + 0x6c]
je 0x459982
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
test edx, edx
je 0x4599a0
jmp 0x4598a2
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop dword [eax]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
test edx, edx
je 0x4598a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x4599c0
movzx eax, byte [eax]
jmp 0x4599d2
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x2b
call eax
mov ebx, dword [esp]
mov edx, dword [esp + 0x14]
test byte [edx], 1
mov ecx, dword [esp + 0x24]
je 0x4599e2
mov ecx, dword [edx + 8]
cmp byte [ecx + ebx], al
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
jne 0x4598a2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x459a10
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x459a22
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x2c
call eax
mov ebx, dword [esp]
add ebx, 1
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx]
test al, 1
jne 0x4598e0
shr eax, 1
cmp ebx, eax
jb 0x4598eb
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
je 0x459a6a
mov al, 1
mov dword [esp], eax
movzx eax, byte [esp + 0xa8]
test al, 1
je 0x459a78
mov ecx, dword [esp + 0xac]
jmp 0x459a7c
mov dword [esp + 0x10], eax
mov al, 1
mov dword [esp], eax
jmp 0x459b8e
mov ecx, eax
shr ecx, 1
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
test ecx, ecx
je 0x459b8a
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffffc
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
jbe 0x459ae3
mov eax, dword [esp + 0x18]
add eax, 4
nop word cs:[eax + eax]
nop
mov edx, dword [eax - 4]
mov esi, dword [ecx]
mov dword [eax - 4], esi
mov dword [ecx], edx
add ecx, 0xfffffffc
lea edx, [eax + 4]
cmp eax, ecx
mov eax, edx
jb 0x459ab0
movzx edx, byte [esp + 0xa8]
test dl, 1
je 0x459af0
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
jmp 0x459af9
test al, 1
je 0x459b47
mov eax, dword [esp + 0xb0]
jmp 0x459b4e
shr edx, 1
lea eax, [esp + 0xa9]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jbe 0x459b4e
add edx, eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
jmp 0x459b29
mov ecx, dword [esp + 0x24]
sub ecx, eax
xor ebx, ebx
cmp ecx, 2
setge bl
add eax, ebx
add edx, 4
cmp edx, dword [esp + 0x10]
jae 0x459b4e
movzx ebx, byte [eax]
mov ecx, ebx
add cl, 0xff
cmp cl, 0x7d
ja 0x459b10
cmp dword [edx], ebx
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
je 0x459b10
jmp 0x4598a2
lea eax, [esp + 0xa9]
movzx eax, byte [eax]
mov ecx, eax
add cl, 0xff
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
cmp cl, 0x7d
ja 0x459b8a
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx]
add ecx, 0xffffffff
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x30]
cmp ecx, eax
jae 0x4598a2
jmp 0x459b8e
mov dword [esp + 0x10], edx
test byte [esp + 0xc0], 1
je 0x459ba7
push dword [esp + 0xc8]
call fcn.0046a990
add esp, 4
test byte [esp + 0x50], 1
mov edi, dword [esp + 0x10]
jne 0x459bd0
test byte [esp + 0x60], 1
jne 0x459be3
test byte [esp + 0x40], 1
jne 0x459bf6
test byte [esp + 0xa8], 1
jne 0x459c0c
test edi, edi
jne 0x459c1f
jmp 0x459c2d
push dword [esp + 0x58]
call fcn.0046a990
add esp, 4
test byte [esp + 0x60], 1
je 0x459bb9
push dword [esp + 0x68]
call fcn.0046a990
add esp, 4
test byte [esp + 0x40], 1
je 0x459bc0
push dword [esp + 0x48]
call fcn.0046a990
add esp, 4
test byte [esp + 0xa8], 1
je 0x459bca
push dword [esp + 0xb0]
call fcn.0046a990
add esp, 4
test edi, edi
je 0x459c2d
mov dword [esp + 0x78], 0x2d
push edi
call ebx
add esp, 4
lea eax, [esp + 0x74]
push eax
call fcn.0048e3e0
add esp, 4
mov eax, dword [esp]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x78], 0x1c
call fcn.0046a7c0
mov dword [esp + 0x78], 0x1b
call fcn.0046a7c0
mov eax, dword [esp + 0x1c]
mov dword [eax], ebx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x78], 0x26
call fcn.0046a7c0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x78], 0x1e
call fcn.0046a7c0
mov eax, dword [esp + 0x78]
cmp eax, 0x2e
jae case.default.0x459cba
jmp dword [eax*4 + 0x459eac]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, 0x42cc50
lea esi, [esp + 0xf4]
jmp 0x459d8b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
jmp 0x459d04
jmp case.0x459cba.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xb4]
mov esi, dword [esp + 0x1c]
mov dword [esi], edx
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
jmp 0x459d8b
jmp case.0x459cba.25
jmp case.0x459cba.22
jmp case.0x459cba.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xd4]
mov esi, dword [esp + 0xd0]
jmp 0x459d8b
jmp case.0x459cba.22
jmp case.0x459cba.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
jmp 0x459d8b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
jmp 0x459d8b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
jmp 0x459d8b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd8], esi
test byte [esp + 0xc0], 1
jne 0x459de0
test byte [esp + 0x50], 1
jne 0x459df6
test byte [esp + 0x60], 1
jne 0x459e09
test byte [esp + 0x40], 1
jne 0x459e1c
test byte [esp + 0xa8], 1
jne 0x459e32
cmp dword [esp + 0xd8], 0
je 0x459e67
jmp 0x459e4b
push dword [esp + 0xc8]
call fcn.0046a990
add esp, 4
test byte [esp + 0x50], 1
je 0x459db8
push dword [esp + 0x58]
call fcn.0046a990
add esp, 4
test byte [esp + 0x60], 1
je 0x459dbf
push dword [esp + 0x68]
call fcn.0046a990
add esp, 4
test byte [esp + 0x40], 1
je 0x459dc6
push dword [esp + 0x48]
call fcn.0046a990
add esp, 4
test byte [esp + 0xa8], 1
je 0x459dd0
push dword [esp + 0xb0]
mov ah, 0x24
mov al, 0
add byte [eax], al
call fcn.0046a990
add esp, 4
cmp dword [esp + 0xd8], 0
je 0x459e67
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x78], 0x2e
push eax
call ecx
add esp, 4
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x78], 0xffffffff
push eax
call fcn.0048e680
ud2
jmp case.0x459cba.44
mov eax, dword [esp + 0x80]
push dword [esp + 0x7c]
call fcn.0041f080
nop
pop ebx
mov dword [ebp], eax
fimul word [ebp + eax*2 + 0x458c6b00]
add ch, al
mov word [ebp], es
jae 0x459e33
inc ebp
add cl, al
pushfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [eax], dl
popfd
inc ebp
add byte [eax], dl
popfd
inc ebp
add byte [edx], dl
popfd
inc ebp
add byte [edx], dl
popfd
inc ebp
add byte [edx], dl
popfd
inc ebp
add dl, ch
pushfd
inc ebp
add dl, ch
pushfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [edi], ch
popfd
inc ebp
add byte [ecx], dh
popfd
inc ebp
add byte [ecx], dh
popfd
inc ebp
add byte [ecx], dh
popfd
inc ebp
add byte [eax - 0x63], cl
inc ebp
add byte [ebx*4 - 0x62ebffbb], dl
inc ebp
add byte [eax - 0x63], bh
inc ebp
add byte [esi], cl
popfd
inc ebp
add byte [esi], cl
popfd
inc ebp
add byte [ebx*4 - 0x62a2ffbb], dl
inc ebp
add ch, bl
pushfd
inc ebp
add ch, bl
pushfd
inc ebp
add ch, bl
pushfd
inc ebp
add ch, bl
pushfd
inc ebp
add ah, ch
pushfd
inc ebp
add ah, ch
pushfd
inc ebp
add ah, ch
pushfd
inc ebp
add byte [ebp - 0x63], bl
inc ebp
add ah, ch
pushfd
inc ebp
add ah, ch
pushfd
inc ebp
add byte [ebx], dh
popfd
inc ebp
add byte [ebx], dh
popfd
inc ebp
add byte [ebx], dh
popfd
inc ebp
add byte [ebx], dh
popfd
inc ebp
add byte [edi - 0x7affba62], al
sahf
inc ebp
add ah, cl
int3