Function at 0x46da20
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x49d430
mov eax, dword fs:[0]
push eax
sub esp, 0xb8
mov eax, dword [0x4bfa48]
xor eax, esp
mov dword [esp + 0xb4], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4bfa48]
xor eax, esp
push eax
lea eax, [esp + 0xcc]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xdc]
push 0x20
push 0xe
mov dword [esp + 0x20], ecx
mov dword [esp + 0x30], ebx
call fcn.004652d0
mov edi, dword [ebx + 0x10]
mov esi, eax
cmp dword [ebx + 0xc], edi
jbe 0x46da82
call fcn.0047c0a1
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x10]
jbe 0x46da95
call fcn.0047c0a1
mov eax, dword [ebx]
test ebp, ebp
je 0x46da9f
cmp ebp, eax
je 0x46daa4
call fcn.0047c0a1
sub edi, dword [esp + 0x14]
sar edi, 1
mov dword [esi + 8], edi
mov edi, dword [ebx + 0x28]
cmp dword [ebx + 0x24], edi
jbe 0x46daba
call fcn.0047c0a1
mov eax, dword [ebx + 0x24]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x14], eax
cmp eax, dword [ebx + 0x28]
jbe 0x46dace
call fcn.0047c0a1
mov eax, dword [ebx + 0x18]
test ebp, ebp
je 0x46dad9
cmp ebp, eax
je 0x46dade
call fcn.0047c0a1
sub edi, dword [esp + 0x14]
sar edi, 1
shr edi, 1
mov dword [esi + 0xc], edi
mov edi, dword [ebx + 0x50]
cmp dword [ebx + 0x4c], edi
jbe 0x46daf6
call fcn.0047c0a1
mov ecx, ebx
mov ebx, dword [ecx + 0x4c]
mov ebp, dword [ecx + 0x40]
cmp ebx, dword [ecx + 0x50]
jbe 0x46db0c
call fcn.0047c0a1
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x40]
test ebp, ebp
je 0x46db17
cmp ebp, eax
je 0x46db20
call fcn.0047c0a1
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
sub edi, ebx
sar edi, 1
mov dword [esi + 0x10], edi
mov eax, dword [ecx + 0x34]
mov dword [esi + 0x14], eax
mov ecx, dword [ecx + 0x38]
mov dword [esi + 0x18], ecx
mov edx, dword [edx]
test dword [edx + 0x20], 0x100000
je 0x46db82
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 0x58]
mov ebx, eax
and ebx, edx
cmp ebx, edx
je 0x46db5c
mov edx, dword [edi + 0x5c]
mov ebx, eax
and ebx, edx
cmp ebx, edx
jne 0x46db64
mov edx, dword [edi + 0x60]
or edx, eax
mov dword [esi + 0x14], edx
mov eax, dword [edi + 0x58]
mov edx, ecx
and edx, eax
cmp edx, eax
je 0x46db7a
mov eax, dword [edi + 0x5c]
mov edx, ecx
and edx, eax
cmp edx, eax
jne 0x46db82
mov eax, dword [edi + 0x60]
or eax, ecx
mov dword [esi + 0x18], eax
mov edi, dword [esp + 0x28]
mov al, byte [edi + 0x30]
mov edx, dword [esp + 0x18]
mov byte [esi + 0x1c], al
cmp byte [edi + 0x31], 0
sete cl
mov byte [esi + 0x1d], cl
mov eax, dword [edx]
sub esi, dword [eax + 0x144]
mov dword [esp + 0x40], esi
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jbe 0x46dbb3
call fcn.0047c0a1
mov ebp, dword [edi]
mov ebx, esi
mov esi, dword [edi + 0x10]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], esi
cmp dword [edi + 0xc], esi
jbe 0x46dbcc
call fcn.0047c0a1
mov ecx, dword [edi]
mov dword [esp + 0x2c], ecx
test ebp, ebp
je 0x46dbdc
cmp ebp, dword [esp + 0x2c]
je 0x46dbe1
call fcn.0047c0a1
cmp ebx, esi
je 0x46dd31
test ebp, ebp
jne 0x46dce9
call fcn.0047c0a1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x46dc02
call fcn.0047c0a1
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
xor edx, edx
cmp byte [ebx + 1], dl
setne dl
add esi, 0x140
sub ecx, eax
add edx, 2
mov edi, edx
cmp ecx, edi
jae 0x46dc39
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00478af0
mov ebp, dword [esi + 8]
mov ecx, dword [esp + 0x1c]
add edi, ebp
mov dword [esi + 8], edi
test ecx, ecx
jne 0x46dcf1
call fcn.0047c0a1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x46dc66
call fcn.0047c0a1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx]
je 0x46dc81
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp], al
test ecx, ecx
jne 0x46dcf8
call fcn.0047c0a1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x46dca1
call fcn.0047c0a1
mov ecx, dword [esp + 0x1c]
cmp byte [ebx + 1], 0
je 0x46dd00
test ecx, ecx
jne 0x46dcfc
call fcn.0047c0a1
mov ecx, dword [esp + 0x1c]
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x46dcc4
call fcn.0047c0a1
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov al, byte [ebx + 1]
je 0x46dce0
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx eax, al
mov al, byte [edx + eax + 0x104]
mov byte [ebp + 1], al
mov byte [ebp + 2], 0
jmp 0x46dd04
mov eax, dword [ebp]
jmp 0x46dbf8
mov eax, dword [ecx]
jmp 0x46dc58
mov eax, dword [ecx]
jmp 0x46dc93
mov eax, dword [ecx]
jmp 0x46dcb6
mov byte [ebp + 1], 0
test ecx, ecx
jne 0x46dd2d
call fcn.0047c0a1
xor eax, eax
cmp ebx, dword [eax + 0x10]
jb 0x46dd19
call fcn.0047c0a1
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
add ebx, 2
jmp 0x46dbd2
mov eax, dword [ecx]
jmp 0x46dd0f
mov esi, dword [edi + 0x24]
cmp esi, dword [edi + 0x28]
jbe 0x46dd3e
call fcn.0047c0a1
mov eax, dword [edi + 0x18]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 0x20], esi
mov dword [esp + 0x3c], eax
cmp dword [edi + 0x24], eax
jbe 0x46dd5a
call fcn.0047c0a1
mov ecx, dword [edi + 0x18]
mov dword [esp + 0x44], ecx
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x46dd6f
cmp esi, dword [esp + 0x44]
je 0x46dd74
call fcn.0047c0a1
mov edi, dword [esp + 0x20]
cmp edi, dword [esp + 0x3c]
je 0x46e57d
test esi, esi
jne 0x46ddd0
call fcn.0047c0a1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x46dd97
call fcn.0047c0a1
mov ebp, dword [esp + 0x18]
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov bl, byte [edi + 1]
mov edx, dword [ebp + 4]
test al, al
je 0x46ddba
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x1c]
mov byte [esp + 0x34], cl
test al, al
je 0x46ddd4
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x46ddd6
mov eax, dword [esi]
jmp 0x46dd8d
mov al, bl
mov byte [esp + 0x35], al
test esi, esi
jne 0x46de36
call fcn.0047c0a1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x46ddef
call fcn.0047c0a1
add edi, 2
test esi, esi
jne 0x46de3a
call fcn.0047c0a1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x46de07
call fcn.0047c0a1
mov al, byte [ebp + 0xc]
mov cl, byte [edi]
mov edx, dword [ebp + 4]
test al, al
je 0x46de1f
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov byte [esp + 0x2c], cl
test al, al
je 0x46de3e
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x46de41
mov eax, dword [esi]
jmp 0x46dde5
mov eax, dword [esi]
jmp 0x46ddfd
mov al, byte [edi + 1]
mov byte [esp + 0x2d], al
mov eax, dword [esp + 0x1c]
xor ebp, ebp
cmp eax, ebp
jne 0x46e08b
call fcn.0047c0a1
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x46de64
call fcn.0047c0a1
add edi, 2
mov eax, 0xf
mov dword [esp + 0x20], edi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebp
mov byte [esp + 0xb0], 0
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x8c], eax
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
test dword [ecx + 0x20], 0x200000
mov ebx, 1
mov byte [esp + 0xd4], bl
je 0x46e092
movzx edx, byte [esp + 0x34]
mov al, byte [esp + 0x35]
mov cl, byte [esp + 0x2c]
mov byte [esp + 0x14], dl
movzx edx, byte [esp + 0x2d]
mov byte [esp + 0x15], al
test al, al
mov byte [esp + 0x16], 0
mov byte [esp + 0x24], cl
mov byte [esp + 0x25], dl
mov byte [esp + 0x26], 0
lea eax, [esp + 0x16]
jne 0x46def7
lea eax, [esp + 0x15]
push eax
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.00465d20
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 2
call fcn.004021b0
mov edi, 0x10
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x46df4a
mov edx, dword [esp + 0x94]
push edx
call fcn.0047bac7
add esp, 4
cmp byte [esp + 0x25], 0
lea eax, [esp + 0x26]
jne 0x46df59
lea eax, [esp + 0x25]
push eax
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, dword [esi + 4]
call fcn.00465d20
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 3
call fcn.004021b0
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x46dfa7
mov edx, dword [esp + 0x94]
push edx
call fcn.0047bac7
add esp, 4
cmp dword [esp + 0xc0], ebp
jne 0x46e011
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea eax, [esp + 0x98]
push eax
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 4
call fcn.004021b0
mov byte [esp + 0xd4], bl
cmp dword [esp + 0xa8], edi
jb 0x46e011
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0047bac7
add esp, 4
mov edi, dword [esp + 0x88]
cmp edi, ebp
jne 0x46e2a1
mov dword [esp + 0xa8], 0xf
mov byte [esp + 0x94], 0
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x98]
push edx
lea ecx, [esp + 0x80]
mov byte [esp + 0xe0], 5
call fcn.004021b0
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x46e29a
mov eax, dword [esp + 0x94]
push eax
call fcn.0047bac7
add esp, 4
jmp 0x46e29a
mov eax, dword [eax]
jmp 0x46de5a
cmp byte [esp + 0x35], 0
je 0x46e131
mov edx, dword [esp + 0x34]
push edx
lea ecx, [esp + 0xb4]
push ecx
lea eax, [esp + 0xb4]
push eax
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0xbc]
call fcn.00466900
mov edx, dword [esp + 0xc4]
mov eax, dword [esp + 0xb0]
mov esi, eax
cmp edx, 0x10
jae 0x46e0df
lea esi, [esp + 0xb0]
mov edi, dword [esp + 0xc0]
add esi, edi
cmp esi, ebp
je 0x46e110
mov ecx, eax
cmp edx, 0x10
jae 0x46e0fa
lea ecx, [esp + 0xb0]
cmp ecx, esi
ja 0x46e110
cmp edx, 0x10
jae 0x46e10a
lea eax, [esp + 0xb0]
add eax, edi
cmp esi, eax
jbe 0x46e115
call fcn.0047c0a1
mov ecx, dword [esp + 0x35]
push ecx
lea eax, [esp + 0xb0]
push esi
push eax
lea edx, [esp + 0x68]
push edx
mov ecx, eax
call fcn.00466900
jmp 0x46e192
mov dword [esp + 0xa8], eax
mov al, byte [esp + 0x34]
mov byte [esp + 0x94], al
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x95], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x98]
push ecx
lea ecx, [esp + 0xb8]
mov byte [esp + 0xe0], 6
call fcn.004021b0
cmp dword [esp + 0xa8], 0x10
mov byte [esp + 0xd4], bl
jb 0x46e192
mov edx, dword [esp + 0x94]
push edx
call fcn.0047bac7
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x8c]
mov esi, eax
je 0x46e24a
cmp edi, 0x10
jae 0x46e1b3
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x46e1de
mov ecx, eax
cmp edi, 0x10
jae 0x46e1cb
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x46e1de
cmp edi, 0x10
jae 0x46e1d8
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x46e1e3
call fcn.0047c0a1
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x78]
push esi
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, eax
call fcn.00466900
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x78]
mov esi, eax
cmp edx, 0x10
jae 0x46e210
lea esi, [esp + 0x78]
mov edi, dword [esp + 0x88]
add esi, edi
cmp esi, ebp
je 0x46e23b
mov ecx, eax
cmp edx, 0x10
jae 0x46e228
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x46e23b
cmp edx, 0x10
jae 0x46e235
lea eax, [esp + 0x78]
add eax, edi
cmp esi, eax
jbe 0x46e240
call fcn.0047c0a1
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x64]
jmp 0x46e28b
cmp edi, 0x10
jae 0x46e253
lea esi, [esp + 0x78]
mov edx, dword [esp + 0x88]
add esi, edx
cmp esi, ebp
je 0x46e27e
mov ecx, eax
cmp edi, 0x10
jae 0x46e26b
lea ecx, [esp + 0x78]
cmp ecx, esi
ja 0x46e27e
cmp edi, 0x10
jae 0x46e278
lea eax, [esp + 0x78]
add eax, edx
cmp esi, eax
jbe 0x46e283
call fcn.0047c0a1
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x54]
push ecx
push esi
lea eax, [esp + 0x7c]
push eax
push edx
mov ecx, eax
call fcn.00466900
mov edi, dword [esp + 0x88]
cmp dword [esp + 0xc4], 0x10
mov edx, dword [esp + 0xb0]
jae 0x46e2b9
lea edx, [esp + 0xb0]
mov ecx, dword [esp + 0xc0]
cmp edi, ecx
jae 0x46e2c6
mov ecx, edi
mov esi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x78]
mov eax, ebx
cmp esi, 0x10
jae 0x46e2dc
lea eax, [esp + 0x78]
push ecx
push edx
push eax
call fcn.00447aa0
add esp, 0xc
cmp eax, ebp
jne 0x46e305
mov eax, dword [esp + 0xc0]
cmp edi, eax
jb 0x46e537
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x46e537
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xc0]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
lea edi, [edi + edx + 2]
sub ecx, eax
cmp ecx, edi
jae 0x46e342
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00478af0
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
mov eax, edx
cmp ecx, 0x10
jae 0x46e366
lea eax, [esp + 0xb0]
mov esi, dword [esp + 0xc0]
lea edi, [eax + esi]
cmp edi, ebp
je 0x46e39a
mov eax, edx
cmp ecx, 0x10
jae 0x46e382
lea eax, [esp + 0xb0]
cmp eax, edi
ja 0x46e39a
mov eax, edx
cmp ecx, 0x10
jae 0x46e394
lea eax, [esp + 0xb0]
add eax, esi
cmp edi, eax
jbe 0x46e3ad
call fcn.0047c0a1
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xb0]
cmp ecx, 0x10
jb 0x46e522
mov esi, edx
cmp edx, ebp
je 0x46e3e9
mov eax, edx
cmp ecx, 0x10
jae 0x46e3ca
lea eax, [esp + 0xb0]
cmp eax, esi
ja 0x46e3e9
mov eax, edx
cmp ecx, 0x10
jae 0x46e3dc
lea eax, [esp + 0xb0]
mov edx, dword [esp + 0xc0]
add eax, edx
cmp esi, eax
jbe 0x46e3ee
call fcn.0047c0a1
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x46e402
push eax
push esi
push eax
push ebx
call fcn.0047c480
add esp, 0x10
mov eax, dword [esp + 0xc0]
mov byte [ebx + eax], 0
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0x78]
lea ebx, [ebx + ecx + 1]
mov ecx, dword [esp + 0x8c]
mov eax, edx
cmp ecx, 0x10
jae 0x46e42e
lea eax, [esp + 0x78]
mov esi, dword [esp + 0x88]
lea edi, [eax + esi]
cmp edi, ebp
je 0x46e45c
mov eax, edx
cmp ecx, 0x10
jae 0x46e447
lea eax, [esp + 0x78]
cmp eax, edi
ja 0x46e45c
mov eax, edx
cmp ecx, 0x10
jae 0x46e456
lea eax, [esp + 0x78]
add eax, esi
cmp edi, eax
jbe 0x46e46c
call fcn.0047c0a1
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x78]
cmp ecx, 0x10
jb 0x46e52e
mov esi, edx
cmp edx, ebp
je 0x46e4a2
mov eax, edx
cmp ecx, 0x10
jae 0x46e486
lea eax, [esp + 0x78]
cmp eax, esi
ja 0x46e4a2
mov eax, edx
cmp ecx, 0x10
jae 0x46e495
lea eax, [esp + 0x78]
mov edx, dword [esp + 0x88]
add eax, edx
cmp esi, eax
jbe 0x46e4a7
call fcn.0047c0a1
sub edi, esi
mov eax, edi
cmp eax, ebp
jle 0x46e4bb
push eax
push esi
push eax
push ebx
call fcn.0047c480
add esp, 0x10
mov eax, dword [esp + 0x88]
mov byte [ebx + eax], 0
cmp dword [esp + 0x8c], 0x10
jb 0x46e4dd
mov ecx, dword [esp + 0x78]
push ecx
call fcn.0047bac7
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
mov dword [esp + 0xd4], 0xffffffff
jb 0x46dd61
mov edx, dword [esp + 0xb0]
push edx
call fcn.0047bac7
add esp, 4
jmp 0x46dd61
lea esi, [esp + 0xb0]
jmp 0x46e3bc
lea esi, [esp + 0x78]
jmp 0x46e47b
cmp esi, 0x10
jb 0x46e545
push ebx
call fcn.0047bac7
add esp, 4
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0x8c], 0xf
mov dword [esp + 0x88], ebp
mov byte [esp + 0x78], 0
jb 0x46e576
mov eax, dword [esp + 0xb0]
push eax
call fcn.0047bac7
add esp, 4
xor eax, eax
jmp 0x46e8bd
mov edi, dword [esp + 0x28]
mov esi, dword [edi + 0x4c]
cmp esi, dword [edi + 0x50]
jbe 0x46e58e
call fcn.0047c0a1
mov ebx, dword [edi + 0x40]
mov ebp, esi
mov esi, dword [edi + 0x50]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x3c], esi
cmp dword [edi + 0x4c], esi
jbe 0x46e5a8
call fcn.0047c0a1
mov ecx, dword [edi + 0x40]
mov dword [esp + 0x44], ecx
nop
test ebx, ebx
je 0x46e5ba
cmp ebx, dword [esp + 0x44]
je 0x46e5bf
call fcn.0047c0a1
cmp ebp, esi
je 0x46e8aa
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 7
test ebx, ebx
jne 0x46e6b4
call fcn.0047c0a1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x46e609
call fcn.0047c0a1
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x46e6c9
test ebx, ebx
jne 0x46e6bb
call fcn.0047c0a1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x46e62f
call fcn.0047c0a1
mov dl, byte [ebp]
mov byte [esp + 0x14], dl
test ebx, ebx
jne 0x46e6c2
call fcn.0047c0a1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x46e64f
call fcn.0047c0a1
mov al, byte [esi]
mov esi, dword [esp + 0x18]
lea ecx, [esp + 0x16]
push ecx
mov ecx, dword [esi + 4]
lea edx, [esp + 0x18]
mov byte [esp + 0x19], al
push edx
lea eax, [esp + 0xb4]
push eax
mov byte [esp + 0x22], 0
call fcn.0046ba10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 8
call fcn.004021b0
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x46e74c
mov ecx, dword [esp + 0xb0]
push ecx
jmp 0x46e744
mov eax, dword [ebx]
jmp 0x46e5ff
mov eax, dword [ebx]
jmp 0x46e625
mov eax, dword [ebx]
jmp 0x46e645
test ebx, ebx
jne 0x46e87d
call fcn.0047c0a1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x46e6e2
call fcn.0047c0a1
test ebx, ebx
jne 0x46e884
call fcn.0047c0a1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x46e6fb
call fcn.0047c0a1
push esi
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebp
lea edx, [esp + 0xb4]
push edx
call fcn.0046ba10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0xe0], 9
call fcn.004021b0
cmp dword [esp + 0xc4], 0x10
mov byte [esp + 0xd4], 7
jb 0x46e74c
mov eax, dword [esp + 0xb0]
push eax
call fcn.0047bac7
add esp, 4
mov edi, dword [esp + 0xa4]
test edi, edi
je 0x46e88f
mov esi, dword [esi]
mov eax, dword [esi + 0x148]
mov ecx, dword [esi + 0x140]
add esi, 0x140
inc edi
sub ecx, eax
cmp ecx, edi
jae 0x46e784
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.00478af0
mov ebx, dword [esi + 8]
add edi, ebx
mov dword [esi + 8], edi
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x46e7a4
lea eax, [esp + 0x94]
mov edx, dword [esp + 0xa4]
lea ecx, [esp + 0x90]
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x34]
call fcn.0043c800
mov eax, dword [esp + 0x94]
mov esi, 0x10
cmp dword [esp + 0xa8], esi
jae 0x46e7db
lea eax, [esp + 0x94]
lea edx, [esp + 0x90]
push edx
push eax
lea ecx, [esp + 0x3c]
call fcn.0043c800
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
sub eax, ecx
test eax, eax
jle 0x46e807
push eax
push ecx
push eax
push ebx
call fcn.0047c480
add esp, 0x10
mov eax, dword [esp + 0xa4]
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x46e88b
call fcn.0047c0a1
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x46e82b
call fcn.0047c0a1
add ebp, 2
mov dword [esp + 0xd4], 0xffffffff
cmp dword [esp + 0xa8], esi
jb 0x46e852
mov ecx, dword [esp + 0x94]
push ecx
call fcn.0047bac7
add esp, 4
mov esi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0xa8], 0xf
mov dword [esp + 0xa4], 0
mov byte [esp + 0x94], 0
jmp 0x46e5b0
mov eax, dword [ebx]
jmp 0x46e6d8
mov eax, dword [ebx]
jmp 0x46e6f1
mov eax, dword [eax]
jmp 0x46e821
lea ecx, [esp + 0x90]
mov dword [esp + 0xd4], 0xffffffff
call fcn.004028c0
xor eax, eax
jmp 0x46e8bd
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x144]
add eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov ecx, dword [esp + 0xcc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb4]
xor ecx, esp
call fcn.0047beb8
add esp, 0xc4
ret 8