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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x50]
cmp eax, dword [ecx + 8]
jbe 0x4b4695
sub esp, 0xd0
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x4b2efa
movzx ebx, byte [ecx + 0x24]
test bl, bl
je 0x4b4378
movzx ecx, byte [eax + 0x14]
test cl, cl
jne 0x4b433c
mov byte [eax + 0x14], 1
mov ecx, dword [eax]
mov ebx, dword [ecx + 8]
mov dword [esp + 0x28], ebx
mov ecx, dword [ecx + 0xc]
mov dword [esp + 0x4c], ecx
mov ebp, dword [eax + 4]
mov dword [esp + 0x94], ebp
mov esi, dword [eax + 8]
mov dword [esp + 0x48], esi
xor edx, edx
jmp 0x4b2f50
mov edi, dword [esp + 0x44]
lea edx, [edi + 1]
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x94]
mov esi, dword [esp + 0x48]
cmp esi, edx
jle 0x4b3a8c
mov dword [esp + 0x44], edx
mov eax, dword [ebp + edx*4]
mov dword [esp + 0x7c], eax
lea ecx, [0x4d8620]
mov dword [esp], ecx
call fcn.0040b530
mov eax, dword [esp + 4]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 0x2e
mov dword [esp + 0xc0], 0x2e
nop
mov ecx, dword [esp + 0xb8]
mov dword [ecx], 0x2014b50
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b468a
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xb8], ebp
mov ebp, dword [esp + 0x7c]
mov esi, dword [ebp]
test byte [ebp], al
movzx esi, word [esi + 0x12]
nop
cmp ecx, 1
jbe 0x4b4680
mov word [edx + ebx], si
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b4676
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
movzx esi, word [esi + 0x14]
nop
cmp ecx, 1
jbe 0x4b466c
mov word [edx + ebx], si
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b4662
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
movzx esi, word [esi + 0x16]
nop
cmp ecx, 1
jbe 0x4b4658
mov word [edx + ebx], si
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b464e
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
movzx esi, word [esi + 0x18]
nop
cmp ecx, 1
jbe 0x4b4644
mov word [edx + ebx], si
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b463a
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
movzx esi, word [esi + 0x30]
nop
cmp ecx, 1
jbe 0x4b4630
mov word [edx + ebx], si
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b4626
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
movzx esi, word [esi + 0x32]
nop
cmp ecx, 1
jbe 0x4b461c
mov word [edx + ebx], si
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b4612
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
mov esi, dword [esi + 0x34]
nop
cmp ecx, 3
jbe 0x4b4608
mov dword [edx + ebx], esi
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b45fe
mov dword [esp + 0x9c], eax
mov dword [esp + 0x90], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
mov dword [esp + 0x40], ebx
lea esi, [edx + ebx]
mov dword [esp + 0xb8], esi
mov esi, dword [ebp]
cmp dword [esi + 0x40], 0xffffffff
mov edi, ebp
xchg ebp, ebx
setae bl
xchg ebp, ebx
mov edx, dword [esi + 0x44]
test edx, edx
sete dl
seta bl
and edx, ebp
or ebx, edx
test bl, bl
je 0x4b398a
nop
nop
cmp ecx, 3
jbe 0x4b45f4
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x90]
mov dword [ebx + edx], 0xffffffff
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b45ea
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xb8], ebp
nop
nop
cmp ecx, 3
jbe 0x4b45e0
mov dword [edx + ebx], 0xffffffff
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b45d6
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xc0], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0x50]
xor eax, eax
call fcn.00459a59
lea ecx, [esp + 0x50]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0x1c
mov dword [esp + 0xa8], 0x1c
nop
mov ebx, dword [esp + 0xa0]
mov word [ebx], 1
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0xa8]
cmp ebx, 2
jb 0x4b45ca
add ebx, 0xfffffffe
mov dword [esp + 0xa4], ebx
add esi, 0xfffffffe
mov dword [esp + 0xa8], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
lea edi, [ebp + esi]
mov dword [esp + 0xa0], edi
nop
nop
cmp ebx, 1
jbe 0x4b45be
mov word [ebp + esi], 0x18
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0xa8]
cmp ebx, 2
jb 0x4b45b2
lea eax, [ebx - 2]
mov dword [esp + 0xa4], eax
lea eax, [esi - 2]
mov dword [esp + 0xa8], eax
neg eax
sar eax, 0x1f
and eax, 2
add eax, ebp
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x48]
mov ecx, dword [ecx + 0x4c]
lea ebx, [esp + 0xa0]
mov dword [esp], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call fcn.004b5e00
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
lea ebx, [esp + 0xa0]
mov dword [esp], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
call fcn.004b5e00
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
lea ebx, [esp + 0xa0]
mov dword [esp], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
call fcn.004b5e00
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x54]
lea ebx, [edx + 0x1c]
mov dword [esp + 0x40], ebx
mov ebp, dword [ecx + 0x58]
mov ecx, dword [ecx + 0x50]
cmp ebx, ebp
ja 0x4b3957
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x90], ecx
lea eax, [ecx + edx]
mov dword [esp], eax
lea eax, [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call fcn.0045a160
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x54], edx
mov edx, dword [esp + 0x3c]
mov dword [ecx + 0x58], edx
mov edx, dword [0x5c3830]
test edx, edx
jne 0x4b393f
mov edx, dword [esp + 0x90]
mov dword [ecx + 0x50], edx
mov edx, dword [eax]
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb8]
cmp ecx, 1
jbe 0x4b4580
mov word [ebx], dx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b4576
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea ebp, [edx + ebx]
mov dword [esp + 0xb8], ebp
mov ebp, dword [eax]
mov ebp, dword [ebp + 0x54]
nop
cmp ecx, 1
jbe 0x4b456c
mov word [edx + ebx], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 2
jb 0x4b4562
add ecx, 0xfffffffe
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea ebp, [edx + ebx]
mov dword [esp + 0xb8], ebp
mov ebp, dword [eax]
mov ebp, dword [ebp + 0xc]
nop
cmp ecx, 1
jbe 0x4b4558
mov word [edx + ebx], bp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xb8]
cmp ecx, 2
jb 0x4b454e
lea ebp, [ecx - 2]
mov dword [esp + 0xbc], ebp
lea esi, [edx - 2]
mov dword [esp + 0xc0], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 2
add ebx, esi
mov dword [esp + 0xb8], ebx
cmp ebp, 4
jb 0x4b4542
add edx, 0xfffffffa
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, 4
lea esi, [ebx + edx]
mov dword [esp + 0xb8], esi
add ecx, 0xfffffffa
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], ebp
mov ebp, dword [eax]
mov ebp, dword [ebp + 0x5c]
nop
cmp ecx, 3
jbe 0x4b4538
mov dword [ebx + edx], ebp
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b452e
mov dword [esp + 0x90], edx
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xb8], ebp
mov ebp, dword [eax + 4]
cmp ebp, 0xffffffff
xchg esi, ebx
seta bl
xchg esi, ebx
mov edi, dword [eax + 8]
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
seta dl
and edi, esi
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4b38e3
nop
nop
cmp ecx, 3
jbe 0x4b4524
mov edx, dword [esp + 0x90]
mov dword [edx + ebx], 0xffffffff
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b451a
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xc0], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0xb8], ecx
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax]
mov dword [esp + 0x6c], ecx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov edx, dword [edx + 0x10]
mov dword [esp], ebx
mov ebx, dword [esp + 0x9c]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], 0x2e
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 8]
mov ebx, edx
add edx, eax
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x84], edi
mov edi, dword [ecx + 0xc]
mov dword [ecx + 8], edx
mov edx, eax
sar eax, 0x1f
add ebx, edx
adc edi, eax
mov dword [ecx + 0xc], edi
test ebp, ebp
jne 0x4b38c7
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [esp + 0xd4]
mov ebx, dword [edx]
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
lea esi, [0x51e07c]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call fcn.00462860
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x4b38b2
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [esp + 0xd4]
mov ebx, dword [edx]
mov dword [esp + 0x78], ebx
mov ebp, dword [ebx]
mov esi, dword [ecx + 0x50]
mov edi, dword [ecx + 0x54]
mov ecx, dword [ecx + 0x58]
mov edx, dword [ebx + 4]
mov ebp, dword [ebp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
call ebp
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov edx, dword [ecx + 8]
mov ebx, edx
add edx, eax
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x8c], edi
mov edi, dword [ecx + 0xc]
mov dword [ecx + 8], edx
mov edx, eax
sar eax, 0x1f
add ebx, edx
adc edi, eax
mov dword [ecx + 0xc], edi
test ebp, ebp
jne 0x4b3896
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov ecx, dword [esp + 0xd4]
mov edx, dword [ecx]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
lea ebp, [0x51e07c]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00462860
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
je 0x4b2f2f
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xd0
ret
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xdc], eax
add esp, 0xd0
ret
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xd0
ret
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0x84]
mov dword [esp + 0xdc], eax
add esp, 0xd0
ret
nop
cmp ecx, 3
jbe 0x4b4510
mov edx, dword [esp + 0x90]
mov dword [edx + ebx], ebp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b4506
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
lea ecx, [ebx - 4]
mov dword [esp + 0xc0], ecx
neg ecx
sar ecx, 0x1f
and ecx, 4
add ecx, edx
mov dword [esp + 0xb8], ecx
jmp 0x4b371e
lea edi, [ecx + 0x50]
mov ecx, eax
mov eax, dword [esp + 0x90]
call fcn.00459860
mov eax, ecx
jmp 0x4b34f6
mov dword [esp + 0x3c], edx
lea eax, [0x4da700]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00442220
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
jmp 0x4b34a4
cmp dword [esi + 0x48], 0xffffffff
setae dl
mov ebx, dword [esi + 0x4c]
test ebx, ebx
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, edx
or ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4b3292
cmp dword [edi + 4], 0xffffffff
setae dl
mov ebx, dword [edi + 8]
test ebx, ebx
sete bl
xchg ebp, ebx
seta bl
xchg ebp, ebx
and edx, ebx
or edx, ebp
test dl, dl
jne 0x4b3292
mov edx, dword [esi + 0x38]
nop
cmp ecx, 3
jbe 0x4b45a8
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x90]
mov dword [ebp + ebx], edx
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b459e
add ecx, 0xfffffffc
mov dword [esp + 0xbc], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xb8], ebp
mov ebp, dword [edi]
mov ebp, dword [ebp + 0x3c]
nop
cmp ecx, 3
jbe 0x4b4594
mov dword [edx + ebx], ebp
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xc0]
cmp ecx, 4
jb 0x4b458a
lea ebp, [ecx - 4]
mov dword [esp + 0xbc], ebp
add ebx, 0xfffffffc
mov dword [esp + 0xc0], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add edx, ebx
mov dword [esp + 0xb8], edx
mov eax, edi
jmp 0x4b34f6
mov ebp, dword [eax]
mov esi, dword [ebp + 8]
mov dword [esp + 0x2c], esi
sub esi, ebx
mov dword [esp + 0x20], esi
mov ebp, dword [ebp + 0xc]
mov dword [esp + 0x30], ebp
mov edx, ebp
sbb ebp, ecx
mov dword [esp + 0x38], ebp
mov edi, dword [eax + 8]
mov dword [esp + 0x48], edi
mov eax, dword [eax + 0x24]
test eax, eax
jne 0x4b430a
cmp edi, 0xffff
setae al
sar edi, 0x1f
mov dword [esp + 0x34], edi
test edi, edi
sete dl
xchg edi, ebx
seta bl
xchg edi, ebx
and edx, eax
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x4b42bd
lea eax, [0x4d8b20]
mov dword [esp], eax
call fcn.0040b530
mov eax, dword [esp + 4]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], 0x4c
mov dword [esp + 0xb4], 0x4c
nop
mov ecx, dword [esp + 0xac]
mov dword [ecx], 0x6064b50
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 4
jb 0x4b44fc
mov dword [esp + 0x98], eax
lea eax, [ecx - 4]
mov dword [esp + 0xb0], eax
lea eax, [ebx - 4]
mov dword [esp + 0xb4], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x2c
call fcn.004b5e00
nop
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
cmp ecx, 1
jbe 0x4b44f2
mov word [eax], 0x2d
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 2
jb 0x4b44e8
add ecx, 0xfffffffe
mov dword [esp + 0xb0], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xb4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea ebp, [edx + ebx]
mov dword [esp + 0xac], ebp
nop
nop
cmp ecx, 1
jbe 0x4b44de
mov word [edx + ebx], 0x2d
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 2
jb 0x4b44d4
add ecx, 0xfffffffe
mov dword [esp + 0xb0], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xb4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea ebp, [edx + ebx]
mov dword [esp + 0xac], ebp
nop
nop
cmp ecx, 3
jbe 0x4b44ca
mov dword [edx + ebx], 0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 4
jb 0x4b44c0
add ecx, 0xfffffffc
mov dword [esp + 0xb0], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xb4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xac], ebp
nop
nop
cmp ecx, 3
jbe 0x4b44b6
mov dword [edx + ebx], 0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 4
jb 0x4b44ac
lea eax, [ecx - 4]
mov dword [esp + 0xb0], eax
lea eax, [ebx - 4]
mov dword [esp + 0xb4], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x48]
mov dword [esp + 4], edx
call fcn.004b5e00
lea eax, [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
call fcn.004b5e00
lea eax, [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 4], ecx
call fcn.004b5e00
lea eax, [esp + 0xac]
mov dword [esp], eax
mov ecx, dword [esp + 0x4c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 4], ecx
call fcn.004b5e00
nop
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
cmp ecx, 3
jbe 0x4b44a2
mov dword [eax], 0x7064b50
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 4
jb 0x4b4498
add ecx, 0xfffffffc
mov dword [esp + 0xb0], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xb4], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xac], ebp
nop
nop
cmp ecx, 3
jbe 0x4b448e
mov dword [edx + ebx], 0
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 4
jb 0x4b4484
lea eax, [ecx - 4]
mov dword [esp + 0xb0], eax
lea eax, [ebx - 4]
mov dword [esp + 0xb4], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0xac], eax
lea eax, [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call fcn.004b5e00
nop
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
cmp ecx, 3
jbe 0x4b447a
mov dword [eax], 1
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
cmp ecx, 4
jb 0x4b4470
lea eax, [ecx - 4]
mov dword [esp + 0xb0], eax
lea eax, [ebx - 4]
mov dword [esp + 0xb4], eax
neg eax
sar eax, 0x1f
and eax, 4
add eax, edx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax]
mov dword [esp + 0x70], ecx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov edx, dword [edx + 0x10]
mov dword [esp], ebx
mov ebx, dword [esp + 0x98]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x4c
mov dword [esp + 0xc], 0x4c
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov edx, dword [ecx + 8]
mov ebx, eax
add eax, edx
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x88], edi
mov edi, dword [ecx + 0xc]
mov dword [ecx + 8], eax
mov eax, ebx
sar ebx, 0x1f
add eax, edx
adc edi, ebx
mov dword [ecx + 0xc], edi
test ebp, ebp
jne 0x4b42a1
mov eax, 0xffff
mov ecx, 0xffffffff
mov edx, 0xffffffff
mov dword [esp + 0x28], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
lea ebx, [0x4d8020]
mov dword [esp], ebx
call fcn.0040b530
mov eax, dword [esp + 4]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 0x16
mov dword [esp + 0xcc], 0x16
nop
mov ecx, dword [esp + 0xc4]
mov dword [ecx], 0x6054b50
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc4]
cmp ecx, 4
jb 0x4b4466
lea ebp, [ecx - 4]
mov dword [esp + 0xc8], ebp
lea esi, [edx - 4]
mov dword [esp + 0xcc], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
add ebx, esi
mov dword [esp + 0xc4], ebx
cmp ebp, 4
jb 0x4b445a
add edx, 0xfffffff8
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, 4
lea esi, [edx + ebx]
mov dword [esp + 0xc4], esi
add ecx, 0xfffffff8
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], ebp
nop
nop
cmp ecx, 1
jbe 0x4b4450
mov ebp, dword [esp + 0x24]
mov word [ebx + edx], bp
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
cmp ecx, 2
jb 0x4b4446
add ecx, 0xfffffffe
mov dword [esp + 0xc8], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xcc], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea esi, [edx + ebx]
mov dword [esp + 0xc4], esi
nop
nop
cmp ecx, 1
jbe 0x4b443c
mov word [edx + ebx], bp
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
cmp ecx, 2
jb 0x4b4432
add ecx, 0xfffffffe
mov dword [esp + 0xc8], ecx
add ebx, 0xfffffffe
mov dword [esp + 0xcc], ebx
neg ebx
sar ebx, 0x1f
and ebx, 2
lea ebp, [edx + ebx]
mov dword [esp + 0xc4], ebp
nop
nop
cmp ecx, 3
jbe 0x4b4428
mov ebp, dword [esp + 0x20]
mov dword [edx + ebx], ebp
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
cmp ecx, 4
jb 0x4b441e
add ecx, 0xfffffffc
mov dword [esp + 0xc8], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xcc], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xc4], ebp
nop
nop
cmp ecx, 3
jbe 0x4b4414
mov ebp, dword [esp + 0x28]
mov dword [edx + ebx], ebp
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
cmp ecx, 4
jb 0x4b440a
add ecx, 0xfffffffc
mov dword [esp + 0xc8], ecx
add ebx, 0xfffffffc
mov dword [esp + 0xcc], ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
lea ebp, [edx + ebx]
mov dword [esp + 0xc4], ebp
mov ebp, dword [esp + 0xd4]
mov esi, dword [ebp + 0x20]
nop
cmp ecx, 1
jbe 0x4b4400
mov word [edx + ebx], si
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xcc]
cmp ecx, 2
jb 0x4b43f6
add ecx, 0xfffffffe
mov dword [esp + 0xc8], ecx
lea ecx, [ebx - 2]
mov dword [esp + 0xcc], ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, edx
mov dword [esp + 0xc4], ecx
mov ecx, dword [ebp]
mov dword [esp + 0x74], ecx
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov edx, dword [edx + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x16
mov dword [esp + 0xc], 0x16
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 8]
mov ebx, eax
add eax, edx
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x80], edi
mov edi, dword [ecx + 0xc]
mov dword [ecx + 8], eax
mov eax, ebx
sar ebx, 0x1f
add eax, edx
adc edi, ebx
mov dword [ecx + 0xc], edi
test ebp, ebp
jne 0x4b4285
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax]
mov edx, dword [eax + 0x1c]
mov ebx, dword [eax + 0x20]
lea ebp, [0x51e07c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.00462860
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test eax, eax
jne 0x4b4270
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [0x51e0b8]
cmp ecx, edx
jne 0x4b43da
mov dword [esp], eax
call fcn.0046a0c0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], ecx
add esp, 0xd0
ret
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xd0
ret
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0x80]
mov dword [esp + 0xdc], eax
add esp, 0xd0
ret
mov dword [esp + 0xd8], esi
mov eax, dword [esp + 0x88]
mov dword [esp + 0xdc], eax
add esp, 0xd0
ret
cmp esi, 0xffffffff
setae al
test ebp, ebp
sete dl
xchg edi, ebx
seta bl
xchg edi, ebx
and edx, eax
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4b3ae6
cmp ebx, 0xffffffff
setae al
test ecx, ecx
sete dl
xchg edi, ebx
seta bl
xchg edi, ebx
and edx, eax
or edi, edx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4b3ae6
mov eax, dword [esp + 0x48]
mov ecx, ebx
mov edx, esi
jmp 0x4b3f20
mov edi, dword [eax]
mov dword [esp + 4], ebp
mov dword [esp], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov edx, eax
call edi
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x48]
jmp 0x4b3abc
lea eax, [0x4dd400]
mov dword [esp], eax
call fcn.0040b530
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x18
lea ecx, [0x4f547f]
mov dword [eax], ecx
lea ecx, [0x51e0e0]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], eax
add esp, 0xd0
ret
mov dword [esp], ecx
call fcn.004b5910
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
test eax, eax
jne 0x4b43c5
mov ecx, dword [0x5c3830]
test ecx, ecx
jne 0x4b43ad
mov eax, dword [esp + 0xd4]
mov dword [eax + 0x10], 0
jmp 0x4b2efa
mov ecx, dword [esp + 0xd4]
lea edi, [ecx + 0x10]
xor eax, eax
call fcn.00459860
mov eax, ecx
jmp 0x4b2efa
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xd0
ret
mov dword [esp], ecx
lea eax, [0x4e9800]
mov dword [esp + 4], eax
lea eax, [0x4dc940]
mov dword [esp + 8], eax
call fcn.00408b60
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 4
mov ecx, ebp
call fcn.00459940
mov eax, 4
call fcn.00459940
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
mov ecx, ebp
call fcn.00459940
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 2
mov ecx, ebx
call fcn.00459940
mov eax, 1
mov ecx, ebx
call fcn.004598e0
mov eax, 2
mov ecx, ebx
call fcn.00459940
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 4
call fcn.00459940
mov eax, 3
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 2
call fcn.00459940
mov eax, 1
call fcn.004598e0
mov eax, 4
call fcn.00459940
nop
call fcn.00458300
jmp fcn.004b2ec0