Function at 0x46a260
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], 0x4853d0
mov dword [esp + 0x90], 0x580f8c
mov dword [esp + 0x94], ebp
mov dword [esp + 0x9c], esp
mov dword [esp + 0x98], 0x46b88b
mov dword [esp + 0x78], 1
lea eax, [esp + 0x74]
push eax
call fcn.004863b0
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.0046bf20
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, 0x43e830
mov dword [esp + 0x24], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
jmp 0x46a456
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 0x46b482
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 0x46b44c
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 0x46a4b0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46a480
mov esi, ecx
jmp 0x46a4b0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 2
call eax
cmp eax, 0xffffffff
je 0x46a49b
mov eax, dword [ebp + 8]
mov esi, dword [eax]
jmp 0x46a4b0
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 0x46a500
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], ecx
jne 0x46a4e1
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 0x46a4f2
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test esi, esi
je 0x46a517
jmp 0x46b44c
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 0x46b44c
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.0x46a534
jmp dword [eax*4 + 0x46ba78]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp dword [esp + 0x24], 3
jne 0x46aa81
jmp 0x46b44c
mov edi, dword [esp + 4]
mov dword [esp], 0
mov edx, dword [esp + 8]
jmp 0x46a576
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 0x46a5e0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46a5a0
mov edx, ecx
jmp 0x46a5e0
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 0x46a5d1
mov eax, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x46a5e0
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 0x46a640
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x46a624
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 0x46a62d
test edx, edx
je 0x46a648
jmp 0x46a8ea
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop word [eax + eax]
test edx, edx
je 0x46a8ea
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46a660
movzx ebx, byte [eax]
test bl, bl
jns 0x46a675
jmp 0x46a688
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1a
call eax
mov ebx, eax
test bl, bl
js 0x46a688
movzx eax, bl
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
test byte [ecx + eax*2], 4
jne 0x46a730
movzx eax, byte [esp + 0xa8]
test al, 1
je 0x46a6b0
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x46a6ba
jmp 0x46a8ea
shr eax, 1
test eax, eax
je 0x46a8ea
cmp dword [esp], 0
je 0x46a8ea
cmp byte [esp + 0x2e], bl
jne 0x46a8ea
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
cmp eax, ecx
jne 0x46a7b1
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, 0x43e830
je 0x46a78c
push esi
push dword [esp + 0x24]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
jmp 0x46a795
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xb8]
cmp eax, ecx
je 0x46a748
mov edx, dword [ebp + 0x2c]
jmp 0x46a7f5
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], 0x43e830
je 0x46a7c6
push esi
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x46a7d7
jmp 0x46b832
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov edx, eax
test eax, eax
je 0x46b825
and esi, 0xfffffffc
mov eax, edi
add eax, edx
add esi, edx
mov edi, fcn.00439b84
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 0x46a808
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x46b832
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], fcn.00439b84
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 0x46a570
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 0x46a576
cmp dword [esp + 0x14], 0
jne 0x46a929
cmp dword [esp + 0x24], 2
jb 0x46a929
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 0x46abb1
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 0x46a94b
movzx ecx, byte [esp + 0x60]
mov bh, cl
and bh, 1
je 0x46a97a
mov eax, dword [esp + 0x64]
jmp 0x46a97e
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
cmp dword [esp + 0x24], 3
je 0x46b44c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46a9d8
movzx eax, byte [eax]
jmp 0x46a9e7
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
je 0x46adcd
cmp dword [esp], 0
je 0x46adcd
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x6c]
cmp dword [esp + 0x10], edx
je 0x46abd7
mov edx, dword [esp + 0x10]
jmp 0x46adc1
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 0x46b125
lea ecx, [esp + 0xbc]
mov esi, dword [esp + 0x24]
cmp byte [esi + ecx - 1], 1
ja 0x46b125
test dl, dl
mov dword [esp + 0xc], eax
mov byte [esp + 0x3c], dh
jne 0x46ac21
mov esi, dword [esp + 0x44]
jmp 0x46ac28
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 0x46a997
mov edi, dword [esp + 0x54]
jmp 0x46a99b
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.0x46a534
test eax, eax
je 0x46abbe
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
test edi, edi
je 0x46accb
cmp eax, edx
je 0x46acde
movzx edx, byte [eax]
jmp 0x46acfb
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 0x46b482
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 0x46b482
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46aa2c
lea edx, [eax + 1]
mov dword [ecx + 0xc], edx
movzx eax, byte [eax]
jmp 0x46aa3b
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.004807a0
jmp 0x46aa81
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.004807a0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor esi, esi
test ecx, ecx
je 0x46aac0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46aaa0
mov esi, ecx
jmp 0x46aac0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 7
call eax
cmp eax, 0xffffffff
je 0x46aafc
mov eax, dword [ebp + 8]
mov esi, dword [eax]
nop dword [eax]
mov ecx, dword [esp]
test ecx, ecx
je 0x46ab20
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x46aaeb
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 0x46ab10
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test esi, esi
je 0x46ab37
jmp case.default.0x46a534
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [esp]
xor esi, esi
test ecx, ecx
jne 0x46aac7
jmp 0x46ab20
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.0x46a534
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46ab50
movzx eax, byte [eax]
jmp 0x46ab5f
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.0x46a534
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.0x46a534
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x46aa60
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xa
call eax
jmp 0x46aa69
mov dword [esp + 0x14], 0
jmp case.default.0x46a534
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
cmp edx, dword [ecx + 0x10]
je 0x46ad44
movzx ecx, byte [edx]
jmp 0x46ad62
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, 0x43e830
je 0x46ad9e
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 0x46adaf
jmp 0x46b868
mov cl, dh
shr cl, 1
movzx esi, cl
mov edx, edi
test esi, esi
je 0x46ac59
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 0x46ac57
test byte [ebx + ecx*2], 8
je 0x46ac57
add edx, 1
add esi, 0xffffffff
jne 0x46ac40
mov edx, edi
mov edi, eax
mov esi, edx
sub esi, edi
movzx ecx, byte [esp + 0xc0]
test cl, 1
je 0x46ac7a
mov ebx, dword [esp + 0xc4]
cmp esi, ebx
jbe 0x46ac86
jmp 0x46b11d
mov ebx, ecx
shr ebx, 1
cmp esi, ebx
ja 0x46b11d
mov eax, edi
lea edi, [esp + 0xc1]
test cl, 1
je 0x46ac9b
mov edi, dword [esp + 0xc8]
test esi, esi
je 0x46acc4
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 0x46b11b
add ecx, 1
cmp esi, ecx
jne 0x46acb0
mov edi, edx
jmp 0x46b11d
cmp eax, edx
je 0x46b2c1
movzx ecx, byte [eax]
mov edx, dword [esp]
jmp 0x46b2db
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 0x46ad07
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 0x46ad34
cmp eax, edi
je 0x46b31a
add eax, 1
mov dword [ecx + 0xc], eax
mov eax, dword [esp]
test bh, bh
je 0x46b33a
jmp 0x46b422
cmp eax, edi
je 0x46b344
movzx eax, byte [eax]
jmp 0x46b353
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 0x46ad6e
mov edx, dword [esp + 0x58]
cmp byte [edx], cl
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
jne case.default.0x46a534
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
cmp edx, dword [ecx + 0x10]
je 0x46b3cc
add edx, 1
mov dword [ecx + 0xc], edx
mov ecx, dword [esp + 0xc]
jmp 0x46b3e4
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x46b868
and esi, 0xfffffffc
mov edx, edi
add edx, eax
add esi, eax
mov ecx, fcn.00439b84
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 0x46a412
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor ebx, ebx
test ecx, ecx
je 0x46ae1d
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46adf7
mov ebx, ecx
jmp 0x46ae1d
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1f
call eax
cmp eax, 0xffffffff
je 0x46ae12
mov eax, dword [ebp + 8]
mov ebx, dword [eax]
jmp 0x46ae1d
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 0x46ae6e
mov eax, dword [edx + 0xc]
cmp eax, dword [edx + 0x10]
jne 0x46ae53
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 0x46ae64
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
test ebx, ebx
je 0x46ae80
jmp 0x46b482
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 0x46b482
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], edx
je 0x46ae95
movzx eax, byte [eax]
jmp 0x46aea4
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 0x46b482
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46aecb
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x46aeda
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x22
call eax
cmp dword [esp + 0x70], 0
jle 0x46a409
mov ebx, dword [esp]
jmp 0x46aefe
add edx, 1
mov dword [ecx + 0xc], edx
test eax, eax
jle 0x46a40c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
je 0x46af50
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46af20
mov edx, ecx
test ebx, ebx
jne 0x46af54
jmp 0x46afb0
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 0x46af90
mov eax, dword [ebp + 8]
mov edx, dword [eax]
mov ebx, dword [esp]
nop word cs:[eax + eax]
test ebx, ebx
je 0x46afb0
mov eax, dword [ebx + 0xc]
cmp eax, dword [ebx + 0x10]
jne 0x46af87
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 0x46afb0
test edx, edx
je 0x46afba
jmp 0x46b474
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ebx, dword [esp]
xor edx, edx
test ebx, ebx
jne 0x46af54
nop word cs:[eax + eax]
nop dword [eax]
xor ebx, ebx
test edx, edx
je 0x46b474
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], ebx
je 0x46afe0
movzx eax, byte [eax]
test al, 0x80
je 0x46b001
jmp 0x46b474
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 0x46b474
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
test byte [ecx + eax*2], 4
je 0x46b474
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, dword [esp + 0xb8]
cmp edx, ecx
jne 0x46b097
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], 0x43e830
je 0x46b068
push esi
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x46b079
jmp 0x46b83f
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x46b83f
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], fcn.00439b84
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 0x46b0b0
movzx eax, byte [eax]
mov esi, dword [ebp + 0x2c]
jmp 0x46b0ce
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 0x46aef0
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 0x46aefe
jmp 0x46a40c
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 0x46b148
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add ecx, eax
cmp edi, ecx
je 0x46b26e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov dword [esp + 0xc], edi
je 0x46b190
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b170
mov edx, ecx
jmp 0x46b190
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 0x46b1cb
mov eax, dword [ebp + 8]
mov edx, dword [eax]
nop dword [eax]
mov ecx, dword [esp]
test ecx, ecx
je 0x46b1f0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x46b1c2
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 0x46b1df
test edx, edx
je 0x46b1f6
jmp 0x46b26e
mov eax, dword [ebp + 8]
mov dword [eax], 0
mov ecx, dword [esp]
xor edx, edx
test ecx, ecx
jne 0x46b197
jmp 0x46b1f0
mov eax, dword [esp + 0x1c]
mov dword [eax], 0
nop dword [eax]
xor ecx, ecx
test edx, edx
je 0x46b26e
mov dword [esp], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b210
movzx eax, byte [eax]
jmp 0x46b223
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 0x46b26e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b240
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x46b253
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 0x46b140
shr eax, 1
lea ecx, [esp + 0x41]
jmp 0x46b148
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test dword [ebp + 0x18], 0x200
je case.default.0x46a534
movzx eax, byte [esp + 0x40]
test al, 1
mov dword [esp + 0xc], edi
je 0x46b29a
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x46b2a0
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.0x46a534
jmp 0x46b482
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 0x46b2e7
mov eax, dword [esp + 0x68]
cmp byte [eax], cl
jne 0x46b30f
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b406
add eax, 1
mov dword [ecx + 0xc], eax
test bh, bh
jne 0x46b422
jmp 0x46b428
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
jmp 0x46b43f
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 0x46b422
shr al, 1
movzx eax, al
jmp 0x46b42d
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 0x46b366
mov ecx, dword [esp + 0x58]
cmp byte [ecx], al
mov edi, dword [esp + 4]
mov esi, dword [esp + 8]
jne 0x46b482
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b38b
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x46b3a3
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 0x46b3b3
mov eax, dword [esp + 0x54]
jmp 0x46b3b8
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 0x46b43f
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 0x46b3f4
mov eax, dword [esp + 0x54]
jmp 0x46b3f9
shr cl, 1
movzx eax, cl
mov ecx, dword [esp + 0x14]
cmp eax, 2
lea eax, [esp + 0x50]
jmp 0x46b438
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 0x46b428
mov eax, dword [esp + 0x64]
jmp 0x46b42d
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.0x46a534
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x46b61e
movzx eax, byte [ecx]
test al, 1
je 0x46b49a
mov eax, dword [ecx + 4]
cmp eax, 2
jae 0x46b4a5
jmp 0x46b61e
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 0x46b76e
shr eax, 1
cmp eax, 2
jb 0x46b61e
lea eax, [ecx + 1]
mov dword [esp + 0x24], eax
mov ebx, 1
jmp 0x46b4cb
mov eax, dword [ecx + 4]
cmp ebx, eax
jae 0x46b61e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov dword [esp], ebx
je 0x46b520
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b4f0
mov edx, ecx
jmp 0x46b520
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x29
call eax
mov ebx, dword [esp]
cmp eax, 0xffffffff
je 0x46b50e
mov eax, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x46b520
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 0x46b570
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x46b551
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 0x46b562
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
test edx, edx
je 0x46b580
jmp 0x46b482
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 0x46b482
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b5a0
movzx eax, byte [eax]
jmp 0x46b5b2
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 0x46b5c2
mov ecx, dword [edx + 8]
cmp byte [ecx + ebx], al
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
jne 0x46b482
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x46b5f0
add eax, 1
mov dword [ecx + 0xc], eax
jmp 0x46b602
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 0x46b4c0
shr eax, 1
cmp ebx, eax
jb 0x46b4cb
mov eax, dword [esp + 0x10]
cmp eax, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
je 0x46b64a
mov al, 1
mov dword [esp], eax
movzx eax, byte [esp + 0xa8]
test al, 1
je 0x46b658
mov ecx, dword [esp + 0xac]
jmp 0x46b65c
mov dword [esp + 0x10], eax
mov al, 1
mov dword [esp], eax
jmp 0x46b76e
mov ecx, eax
shr ecx, 1
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
test ecx, ecx
je 0x46b76a
mov ecx, dword [esp + 0x10]
add ecx, 0xfffffffc
cmp ecx, dword [esp + 0x18]
mov dword [esp + 0x10], ecx
jbe 0x46b6c3
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 0x46b690
movzx edx, byte [esp + 0xa8]
test dl, 1
je 0x46b6d0
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
jmp 0x46b6d9
test al, 1
je 0x46b727
mov eax, dword [esp + 0xb0]
jmp 0x46b72e
shr edx, 1
lea eax, [esp + 0xa9]
mov ecx, dword [esp + 0x10]
cmp ecx, dword [esp + 0x18]
jbe 0x46b72e
add edx, eax
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x18]
jmp 0x46b709
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 0x46b72e
movzx ebx, byte [eax]
mov ecx, ebx
add cl, 0xff
cmp cl, 0x7d
ja 0x46b6f0
cmp dword [edx], ebx
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x30]
je 0x46b6f0
jmp 0x46b482
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 0x46b76a
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 0x46b482
jmp 0x46b76e
mov dword [esp + 0x10], edx
test byte [esp + 0xc0], 1
je 0x46b787
push dword [esp + 0xc8]
call fcn.00422980
add esp, 4
test byte [esp + 0x50], 1
mov edi, dword [esp + 0x10]
jne 0x46b7b0
test byte [esp + 0x60], 1
jne 0x46b7c3
test byte [esp + 0x40], 1
jne 0x46b7d6
test byte [esp + 0xa8], 1
jne 0x46b7ec
test edi, edi
jne 0x46b7ff
jmp 0x46b80d
push dword [esp + 0x58]
call fcn.00422980
add esp, 4
test byte [esp + 0x60], 1
je 0x46b799
push dword [esp + 0x68]
call fcn.00422980
add esp, 4
test byte [esp + 0x40], 1
je 0x46b7a0
push dword [esp + 0x48]
call fcn.00422980
add esp, 4
test byte [esp + 0xa8], 1
je 0x46b7aa
push dword [esp + 0xb0]
call fcn.00422980
add esp, 4
test edi, edi
je 0x46b80d
mov dword [esp + 0x78], 0x2d
push edi
call ebx
add esp, 4
lea eax, [esp + 0x74]
push eax
call fcn.00486410
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.004227b0
mov dword [esp + 0x78], 0x1b
call fcn.004227b0
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.004227b0
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.004227b0
mov eax, dword [esp + 0x78]
cmp eax, 0x2e
jae case.default.0x46b89a
jmp dword [eax*4 + 0x46ba8c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, 0x43e830
lea esi, [esp + 0xf4]
jmp 0x46b96b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
jmp 0x46b8e4
jmp case.0x46b89a.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 0x46b96b
jmp case.0x46b89a.25
jmp case.0x46b89a.22
jmp case.0x46b89a.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xd4]
mov esi, dword [esp + 0xd0]
jmp 0x46b96b
jmp case.0x46b89a.22
jmp case.0x46b89a.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x30]
jmp 0x46b96b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
jmp 0x46b96b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
jmp 0x46b96b
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 0x46b9c0
test byte [esp + 0x50], 1
jne 0x46b9d6
test byte [esp + 0x60], 1
jne 0x46b9e9
test byte [esp + 0x40], 1
jne 0x46b9fc
test byte [esp + 0xa8], 1
jne 0x46ba12
cmp dword [esp + 0xd8], 0
je 0x46ba47
jmp 0x46ba2b
push dword [esp + 0xc8]
call fcn.00422980
add esp, 4
test byte [esp + 0x50], 1
je 0x46b998
push dword [esp + 0x58]
call fcn.00422980
add esp, 4
test byte [esp + 0x60], 1
je 0x46b99f
push dword [esp + 0x68]
call fcn.00422980
add esp, 4
test byte [esp + 0x40], 1
je 0x46b9a6
push dword [esp + 0x48]
call fcn.00422980
add esp, 4
test byte [esp + 0xa8], 1
je 0x46b9b0
push dword [esp + 0xb0]
call fcn.00422980
add esp, 4
cmp dword [esp + 0xd8], 0
je 0x46ba47
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.004866b0
ud2
jmp case.0x46b89a.44
mov eax, dword [esp + 0x80]
push dword [esp + 0x7c]
call fcn.00422cc0
nop
cmp esp, dword [ebp - 0x5741ffba]
inc esi
add byte [ebx - 0x58], cl
inc esi
add byte [ebp + 0x530046a8], ah
movsd dword es:[edi], dword [esi]
inc esi
add byte [ecx + 0xf0046b8], ah
mov ecx, 0xb90f0046
inc esi
add byte [edi], cl
mov ecx, 0xb8f00046
inc esi
add al, dh
mov eax, 0xb8f20046
inc esi
add dl, dh
mov eax, 0xb8f20046
inc esi
add dl, cl
mov eax, 0xb8ca0046
inc esi
add byte [edi], cl
mov ecx, 0xb90f0046
inc esi
add byte [edi], cl
mov ecx, 0xb90f0046
inc esi
add byte [edi], cl
mov ecx, 0xb90f0046
inc esi
add byte [edi], cl
mov ecx, 0xb90f0046
inc esi
add byte [ecx], dl
mov ecx, 0xb9110046
inc esi
add byte [ecx], dl
mov ecx, 0xb9280046
inc esi
add ah, dh
mov eax, 0xb8f40046
inc esi
add byte [eax - 0x47], bl
inc esi
add dh, ch
mov eax, 0xb8ee0046
inc esi
add ah, dh
mov eax, 0xb93d0046
inc esi
add byte [ebp - 0x42ffb948], bh
mov eax, 0xb8bd0046
inc esi
add byte [ebp - 0x33ffb948], bh
mov eax, 0xb8cc0046
inc esi
add ah, cl
mov eax, 0xb93d0046
inc esi
add ah, cl
mov eax, 0xb8cc0046
inc esi
add byte [ebx], dl
mov ecx, 0xb9130046
inc esi
add byte [ebx], dl
mov ecx, 0xb9130046
inc esi
add byte [edi - 0x46], ah
inc esi
add byte [ebp - 0x46], ah
inc esi
add ah, cl
int3