Function at 0x4b9370
Capabilities:
Parse pe header
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xa0]
cmp eax, dword [ecx + 8]
jbe 0x4baca7
sub esp, 0x120
lea eax, [0x4df400]
mov dword [esp], eax
call fcn.0040b490
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
nop
lea ecx, [0x4d8ea0]
mov dword [esp], ecx
call fcn.0040b490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x124]
mov dword [eax], ecx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4bac78
mov ecx, dword [esp + 0x128]
mov dword [eax + 4], ecx
mov dword [esp + 0x94], eax
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x18], 0xffffffff
mov dword [eax + 0x1c], 0x7fffffff
lea ecx, [0x510b8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x51128c]
mov dword [esp + 8], edx
lea ebx, [0x5afe00]
mov dword [esp + 0xc], ebx
lea ebp, [0x4c7e40]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 0x14], ebp
call fcn.004b13f0
lea eax, [0x4df660]
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b27b0
mov eax, dword [esp + 8]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xa4]
cmp dword [ecx + 0x3c], eax
jl 0x4bac26
mov byte [ecx + 0x40], 0
movzx edx, byte [ecx + 0x40]
test dl, dl
jne 0x4babe7
mov edx, dword [ecx + 0x3c]
cmp edx, eax
jg 0x4baac6
cmp word [ecx], 0x5a4d
je 0x4ba990
xor eax, eax
xor edx, edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x4c], edx
mov ebx, dword [esp + 0x94]
mov ebp, dword [ebx + 8]
add edx, ebp
mov edi, dword [ebx + 0xc]
adc eax, edi
cmp edx, ebp
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp eax, edi
xchg edi, ebx
sete bl
xchg edi, ebx
xchg esi, ebx
setl bl
xchg esi, ebx
and edi, ebp
or esi, edi
xchg esi, eax
test al, al
xchg esi, eax
je 0x4ba985
lea eax, [0x510b8c]
mov dword [esp], eax
mov dword [esp + 4], ebx
lea edx, [0x51128c]
mov dword [esp + 8], edx
lea ebp, [0x5afe00]
mov dword [esp + 0xc], ebp
lea esi, [0x4c7ec0]
mov dword [esp + 0x10], esi
lea esi, [ecx + 0x90]
mov dword [esp + 0xb8], esi
mov dword [esp + 0x14], esi
call fcn.004b13f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4ba965
mov eax, dword [esp + 0xa4]
movzx ecx, word [eax + 0x90]
cmp cx, 0x14c
ja 0x4ba94a
test cx, cx
jne 0x4ba8a8
movzx ecx, byte [esp + 0x12c]
test cl, cl
je 0x4ba89c
mov edx, dword [esp + 0x94]
mov ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0xc]
cmp ebp, ebx
xchg esi, ebx
sete bl
xchg esi, ebx
mov edi, dword [edx + 0x10]
cmp dword [edx + 8], edi
seta cl
cmp ebp, ebx
setg al
and ecx, esi
or ecx, eax
test cl, cl
je 0x4ba88a
mov eax, dword [0x593340]
mov ecx, dword [0x593344]
xor ebx, ebx
xor ebp, ebp
test eax, eax
je 0x4b964c
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
je 0x4b95e5
mov eax, dword [eax + 4]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
lea eax, [0x4edc05]
mov dword [esp], eax
mov dword [esp + 4], 0x28
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004933f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
add esp, 0x120
ret
mov dword [esp + 0x48], ebp
mov dword [esp + 0x50], ebx
lea eax, [0x4dbcc0]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b27b0
mov eax, dword [esp + 8]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x4c]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0xa4]
movzx ebp, word [ebx + 0xa0]
mov esi, ebp
add ebp, eax
mov dword [esp + 0x44], ebp
mov edi, dword [esp + 0x94]
mov ebx, dword [edi + 8]
add ebp, ebx
mov dword [esp + 0x7c], ebp
sar edx, 0x1f
mov ebp, dword [esp + 0x80]
add ebp, ecx
mov ebp, dword [esp + 0x54]
adc edx, ebp
add esi, eax
adc edx, 0
mov eax, dword [edi + 0xc]
mov esi, dword [esp + 0x44]
add esi, ebx
adc edx, eax
mov esi, dword [esp + 0x7c]
cmp esi, ebx
setb bl
cmp edx, eax
setl al
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ba87f
xor eax, eax
jmp 0x4b9715
mov edx, dword [esp + 0x74]
inc edx
mov ecx, dword [esp + 0x4c]
mov edi, dword [esp + 0x94]
mov eax, edx
mov edx, dword [esp + 0xa4]
movzx ebx, word [edx + 0x92]
cmp eax, ebx
jge 0x4b97de
mov dword [esp + 0x74], eax
lea eax, [0x4dd6a0]
mov dword [esp], eax
call fcn.0040b490
mov eax, dword [esp + 4]
mov dword [esp + 0x90], eax
lea ecx, [0x510b8c]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
lea ebx, [0x51128c]
mov dword [esp + 8], ebx
lea ebp, [0x5afe00]
mov dword [esp + 0xc], ebp
lea esi, [0x4d12e0]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.004b13f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4b97be
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x98]
mov edx, dword [esp + 0x90]
cmp dword [edx + 0x14], ecx
jne 0x4b9703
mov ecx, dword [edx + 0xc]
mov dword [eax + 0x98], ecx
jmp 0x4b9703
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
add esp, 0x120
ret
mov eax, dword [edi + 8]
mov ebx, dword [esp + 0x48]
add ebx, eax
mov ebp, dword [edi + 0xc]
mov esi, dword [esp + 0x50]
adc esi, ebp
cmp ebx, eax
setb al
cmp ebp, esi
xchg ebp, ebx
setg bl
xchg ebp, ebx
sete cl
and ecx, eax
or ebp, ecx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4ba874
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
lea ecx, [0x510f0c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.004bbae0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xa4]
mov dword [edi + 0xd8], ecx
mov dword [edi + 0xdc], edx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4ba85e
mov dword [edi + 0xd4], eax
test ebx, ebx
jne 0x4ba83e
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
lea ecx, [0x510f0c]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004bc080
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0xa8], esi
mov edi, dword [esp + 0xa4]
mov dword [edi + 0xcc], ecx
mov dword [edi + 0xd0], edx
mov esi, dword [0x5afef0]
test esi, esi
jne 0x4ba825
mov dword [edi + 0xc8], eax
test ebx, ebx
jne 0x4ba7fe
mov ebx, dword [edi + 0xd4]
mov ebp, dword [edi + 0xd8]
mov esi, dword [edi + 0xdc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.004bc400
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x24]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0xa4]
mov dword [edi + 0xc0], ecx
mov dword [edi + 0xc4], edx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4ba7e8
mov dword [edi + 0xbc], eax
test ebx, ebx
jne 0x4ba7c8
lea eax, [0x4dbcc0]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b27b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x4c]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0xec], eax
mov ebp, edx
sar edx, 0x1f
add ebp, ecx
mov ecx, dword [esp + 0x54]
adc edx, ecx
mov dword [ebx + 0xf0], edx
mov ecx, dword [esp + 0x94]
mov ebp, dword [ecx + 8]
add eax, ebp
mov esi, dword [ecx + 0xc]
adc edx, esi
cmp eax, ebp
xchg ebp, ebx
setb bl
xchg ebp, ebx
cmp edx, esi
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
setl bl
xchg edi, ebx
and esi, ebp
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x4ba7bd
lea eax, [0x4e01a0]
mov dword [esp], eax
call fcn.0040b490
mov eax, dword [esp + 4]
mov dword [esp + 0xc4], eax
lea ecx, [0x4dffe0]
mov dword [esp], ecx
call fcn.0040b490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xa4]
movzx edx, word [ecx + 0xa0]
cmp word [0x5afcf8], dx
je 0x4ba66f
cmp word [0x5afcfa], dx
je 0x4ba521
movzx eax, word [ecx + 0x92]
lea edx, [0x4d6aa0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00441c90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
movzx edx, word [ecx + 0x92]
mov dword [ecx + 0xb0], edx
mov dword [ecx + 0xb4], edx
mov edx, dword [0x5afef0]
test edx, edx
jne 0x4ba511
mov dword [ecx + 0xac], eax
xor eax, eax
jmp 0x4b9a94
inc eax
mov ecx, ebp
movzx edx, word [ecx + 0x92]
cmp eax, edx
jge 0x4b9ef0
mov dword [esp + 0x70], eax
lea eax, [0x4dd6a0]
mov dword [esp], eax
call fcn.0040b490
mov eax, dword [esp + 4]
mov dword [esp + 0x8c], eax
lea ecx, [0x510b8c]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
lea ebx, [0x51128c]
mov dword [esp + 8], ebx
lea ebp, [0x5afe00]
mov dword [esp + 0xc], ebp
lea esi, [0x4d12e0]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.004b13f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4b9ed0
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0xd4]
mov edx, dword [eax + 0xd8]
mov ebx, dword [eax + 0xdc]
mov ebp, dword [esp + 0x8c]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.004bb830
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jne 0x4b9eb0
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x60], ebp
lea eax, [0x4daca0]
mov dword [esp], eax
call fcn.0040b490
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.004597f4
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xf4], ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 0xf8], edx
mov dword [esp + 0xfc], ebx
mov edx, dword [ecx + 8]
mov dword [esp + 0x100], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + 0x104], edx
mov edx, dword [ecx + 0x10]
mov dword [esp + 0x108], edx
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x10c], edx
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x110], edx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x114], edx
movzx edx, word [ecx + 0x20]
mov word [esp + 0x118], dx
movzx edx, word [ecx + 0x22]
mov word [esp + 0x11a], dx
mov edx, dword [ecx + 0x24]
mov dword [esp + 0x11c], edx
mov edx, dword [0x5afef0]
test edx, edx
jne 0x4b9e85
mov edi, dword [esp + 0x98]
lea esi, [esp + 0xf0]
call fcn.00459c98
mov ecx, dword [esp + 0x8c]
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x4b9e68
movzx ecx, byte [esp + 0x12c]
test cl, cl
lea edx, [0x5afe00]
lea ebx, [0x510c18]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x38], ebx
je 0x4b9da5
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x5c], ecx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x64], edx
add ecx, edx
mov dword [esp + 0x7c], ecx
lea ebp, [0x4d8ea0]
mov dword [esp], ebp
call fcn.0040b490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4b9d83
mov edx, dword [esp + 0x9c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
add ebx, edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], edx
mov dword [eax + 0x14], 0
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x18], edx
mov edx, 0
adc edx, 0
mov dword [eax + 0x1c], edx
mov edx, dword [0x5afef0]
test edx, edx
jne 0x4b9d72
mov edx, dword [esp + 0x98]
mov dword [edx + 0x44], eax
mov eax, dword [edx + 0x44]
lea ebx, [0x510ba0]
mov dword [edx + 0x3c], ebx
mov ebp, dword [0x5afef0]
test ebp, ebp
jne 0x4b9d68
mov dword [edx + 0x40], eax
mov ebp, dword [esp + 0xa4]
mov esi, dword [ebp + 0xac]
mov ecx, dword [ebp + 0xb0]
mov eax, dword [esp + 0x70]
cmp eax, ecx
jae 0x4bac9c
lea edi, [esi + eax*4]
mov ebx, dword [0x5afef0]
test ebx, ebx
jne 0x4b9d58
mov dword [esi + eax*4], edx
jmp 0x4b9a91
mov ecx, eax
mov eax, edx
call fcn.004595d0
mov eax, ecx
jmp 0x4b9a91
lea edi, [edx + 0x40]
call fcn.004595d0
jmp 0x4b9d24
mov edx, dword [esp + 0x98]
lea edi, [edx + 0x44]
call fcn.004595d0
jmp 0x4b9d0b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.004595d0
mov edx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
add ebx, edx
mov eax, ecx
jmp 0x4b9cd1
mov eax, dword [esp + 0x98]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x58], ecx
mov edx, dword [eax + 0x18]
mov dword [esp + 0x68], edx
add edx, ecx
mov dword [esp + 0x7c], edx
lea ebp, [0x4d8ea0]
mov dword [esp], ebp
call fcn.0040b490
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov dword [eax], ecx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4b9e49
mov edx, dword [esp + 0x9c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x58]
add edx, ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], 0
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x18], edx
mov edx, 0
adc edx, 0
mov dword [eax + 0x1c], edx
mov edx, dword [0x5afef0]
test edx, edx
jne 0x4b9e35
mov edx, dword [esp + 0x98]
mov dword [edx + 0x44], eax
jmp 0x4b9d0b
mov edx, dword [esp + 0x98]
lea edi, [edx + 0x44]
call fcn.004595d0
jmp 0x4b9d0b
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x9c]
call fcn.004595d0
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x58]
add edx, ebx
mov eax, ecx
jmp 0x4b9df6
movzx ecx, byte [esp + 0x12c]
test cl, cl
mov edx, dword [esp + 0x128]
mov ebx, dword [esp + 0x124]
jmp 0x4b9c6b
lea eax, [0x4de000]
mov dword [esp], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 4], eax
lea ecx, [esp + 0xf0]
mov dword [esp + 8], ecx
call fcn.0040f2d0
xor eax, eax
jmp 0x4b9c43
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
add esp, 0x120
ret
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
add esp, 0x120
ret
mov edx, dword [ecx + 0xb0]
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x94]
xor eax, eax
jmp 0x4b9f1e
inc eax
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x94]
cmp eax, edx
jge 0x4ba000
mov ebp, dword [ecx + 0xb0]
mov esi, dword [ecx + 0xac]
cmp ebp, eax
jbe 0x4bac95
mov dword [esp + 0x6c], eax
mov ecx, dword [esi + eax*4]
test byte [ecx], al
mov dword [esp], ecx
lea ecx, [0x510f0c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.004bb570
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0xb0]
mov edx, dword [eax + 0xac]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x6c]
cmp ecx, eax
jbe 0x4bac90
mov edx, dword [edx + eax*4]
mov dword [edx + 0x34], ebp
mov dword [edx + 0x38], esi
mov ebp, dword [0x5afef0]
test ebp, ebp
jne 0x4b9fea
mov dword [edx + 0x30], ebx
test edi, edi
je 0x4b9f08
mov dword [esp + 0x130], 0
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x138], eax
add esp, 0x120
ret
add edx, 0x30
mov ecx, edi
mov edi, edx
mov ebp, eax
mov eax, ebx
call fcn.004595d0
mov eax, ebp
mov edi, ecx
jmp 0x4b9fb4
mov dword [esp], ecx
call fcn.004bafe0
mov eax, dword [0x5afef0]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 8]
mov ebp, dword [esp + 0xc]
test eax, eax
jne 0x4ba4f6
mov eax, dword [esp + 0xa4]
mov dword [eax + 0xb8], ecx
test edx, edx
jne 0x4ba4d6
mov dword [esp], eax
lea ecx, [0x510f0c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 8], ecx
call fcn.004b86e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0xa4]
mov dword [edi + 0xe4], ecx
mov dword [edi + 0xe8], edx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4ba4c0
mov dword [edi + 0xe0], eax
test ebx, ebx
jne 0x4ba4a0
mov eax, dword [edi + 0xa8]
mov ecx, dword [edi + 0xa4]
test ecx, ecx
je 0x4ba322
mov edx, dword [ecx + 8]
cmp edx, 0x6b0a3d03
jne 0x4ba467
lea ebx, [0x4c8000]
cmp ebx, ecx
jne 0x4ba322
mov ebp, dword [eax + 0xe0]
test ebp, ebp
je 0x4ba322
cmp edx, 0x6b0a3d03
jne 0x4ba444
cmp ebx, ecx
jne 0x4ba43b
mov ecx, dword [eax + 0xe0]
mov eax, dword [eax + 0xe4]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x30], ecx
lea edx, [0x4cfd80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00441c90
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
movzx ecx, byte [esp + 0x12c]
test cl, cl
je 0x4ba3e2
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov ebp, dword [esp + 0x7c]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
mov dword [esp + 0x14], 0
mov esi, dword [esp + 0x30]
mov dword [esp + 0x10], esi
call edx
lea eax, [0x4d7200]
mov dword [esp], eax
call fcn.0040b490
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov eax, dword [0x5afef0]
test eax, eax
jne 0x4ba3d1
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
lea eax, [0x510b14]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [0x51128c]
mov dword [esp + 8], ecx
lea ecx, [0x5afe00]
mov dword [esp + 0xc], ecx
lea ecx, [0x4c7f00]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
lea edx, [ecx + 0x104]
mov dword [esp + 0x14], edx
call fcn.004b13f0
mov eax, dword [esp + 0xa4]
mov ecx, dword [eax + 0x110]
lea edx, [0x4cfd80]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00441c90
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0xa4]
mov edx, dword [ecx + 0x110]
mov dword [esp + 0x7c], edx
movzx ebx, byte [esp + 0x12c]
test bl, bl
je 0x4ba37d
mov ebx, dword [esp + 0x124]
mov ebx, dword [ebx + 0x10]
mov ebp, dword [ecx + 0x10c]
mov esi, dword [esp + 0x128]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ebp
call ebx
lea eax, [0x4d7200]
mov dword [esp], eax
call fcn.0040b490
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov eax, dword [0x5afef0]
test eax, eax
jne 0x4ba36c
mov ecx, dword [esp + 0xb0]
mov dword [edi], ecx
mov dword [esp + 0x88], edi
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xffffffff
lea edi, [esp + 0xd0]
xor eax, eax
call fcn.004597f8
lea ecx, [0x510b14]
mov dword [esp], ecx
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
call fcn.004bad90
lea edi, [esp + 0xd0]
lea esi, [esp + 8]
call fcn.00459cc0
mov ecx, dword [esp + 0xa4]
lea edi, [ecx + 0x14c]
mov edx, dword [0x5afef0]
test edx, edx
jne 0x4ba34d
lea esi, [esp + 0xd0]
call fcn.00459cc0
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
add esp, 0x120
ret
lea eax, [0x4dc6c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xd0]
mov dword [esp + 8], eax
call fcn.0040f2d0
jmp 0x4ba322
mov eax, dword [esp + 0xb0]
call fcn.004595d0
jmp 0x4ba2ac
mov eax, dword [ecx + 0x10c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004bad20
mov eax, dword [esp + 0x124]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x128]
mov dword [esp], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], ecx
call eax
jmp 0x4ba279
mov eax, dword [esp + 0xb0]
call fcn.004595d0
jmp 0x4ba1a0
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], ecx
call fcn.004bad20
mov eax, dword [esp + 0x124]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov ebp, dword [esp + 0xb0]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x7c]
mov dword [esp + 8], esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], edx
call ecx
jmp 0x4ba16d
xor eax, eax
xor ecx, ecx
jmp 0x4ba0fe
cmp edx, 0xcb8d22c5
jne 0x4ba43b
lea edx, [0x4c7fc0]
cmp edx, ecx
jne 0x4ba43b
mov ecx, dword [eax + 0xd0]
mov eax, dword [eax + 0xd4]
jmp 0x4ba0fe
cmp edx, 0xcb8d22c5
jne 0x4ba322
lea ebx, [0x4c7fc0]
cmp ebx, ecx
jne 0x4ba322
mov ebp, dword [eax + 0xd0]
test ebp, ebp
je 0x4ba322
cmp edx, 0x6b0a3d03
lea ebx, [0x4c8000]
jmp 0x4ba0e4
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ebp
mov dword [esp + 0x138], esi
add esp, 0x120
ret
lea ecx, [edi + 0xe0]
mov edx, edi
mov edi, ecx
call fcn.004595d0
mov edi, edx
jmp 0x4ba097
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ebx
mov dword [esp + 0x138], ebp
add esp, 0x120
ret
mov esi, dword [esp + 0xa4]
lea edi, [esi + 0xb8]
mov eax, ecx
call fcn.004595d0
mov eax, esi
jmp 0x4ba033
lea edi, [ecx + 0xac]
call fcn.004595d0
jmp 0x4b9a8d
mov dword [esp + 0xc0], eax
lea ecx, [0x510b8c]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
lea ebx, [0x51128c]
mov dword [esp + 8], ebx
lea ebp, [0x5afe00]
mov dword [esp + 0xc], ebp
lea esi, [0x4c8000]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.004b13f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4ba64f
mov eax, dword [esp + 0xc0]
cmp word [eax], 0x20b
jne 0x4ba5bc
lea ecx, [0x4c8000]
mov edx, dword [esp + 0xa4]
mov dword [edx + 0xa4], ecx
mov ebx, dword [0x5afef0]
test ebx, ebx
jne 0x4ba5af
mov dword [edx + 0xa8], eax
mov ecx, edx
jmp 0x4b9a3e
lea edi, [edx + 0xa8]
call fcn.004595d0
jmp 0x4ba5a8
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
movzx eax, word [eax]
mov word [esp], ax
call fcn.00408ca0
mov eax, dword [esp + 4]
lea ecx, [0x4cfcc0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
lea eax, [0x4ef2a8]
mov dword [esp], eax
mov dword [esp + 4], 0x32
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004933f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
add esp, 0x120
ret
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
add esp, 0x120
ret
lea eax, [0x510b8c]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
lea edx, [0x51128c]
mov dword [esp + 8], edx
lea ebx, [0x5afe00]
mov dword [esp + 0xc], ebx
lea ebp, [0x4c7fc0]
mov dword [esp + 0x10], ebp
mov esi, dword [esp + 0xc4]
mov dword [esp + 0x14], esi
call fcn.004b13f0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test eax, eax
jne 0x4ba79d
mov eax, dword [esp + 0xc4]
cmp word [eax], 0x10b
jne 0x4ba70a
lea ecx, [0x4c7fc0]
mov edx, dword [esp + 0xa4]
mov dword [edx + 0xa4], ecx
mov ebx, dword [0x5afef0]
test ebx, ebx
jne 0x4ba6fd
mov dword [edx + 0xa8], eax
mov ecx, edx
jmp 0x4b9a3e
lea edi, [edx + 0xa8]
call fcn.004595d0
jmp 0x4ba6f6
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
movzx eax, word [eax]
mov word [esp], ax
call fcn.00408ca0
mov eax, dword [esp + 4]
lea ecx, [0x4cfcc0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
lea eax, [0x4ef0bb]
mov dword [esp], eax
mov dword [esp + 4], 0x31
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004933f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
add esp, 0x120
ret
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
add esp, 0x120
ret
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], edx
jmp 0x4b99eb
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ebp
mov dword [esp + 0x138], esi
add esp, 0x120
ret
lea ecx, [edi + 0xbc]
mov edx, edi
mov edi, ecx
call fcn.004595d0
mov edi, edx
jmp 0x4b9952
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ebp
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x138], eax
add esp, 0x120
ret
lea esi, [edi + 0xc8]
mov edi, esi
call fcn.004595d0
mov edi, dword [esp + 0xa4]
jmp 0x4b98dd
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ebp
mov dword [esp + 0x138], esi
add esp, 0x120
ret
lea ecx, [edi + 0xd4]
mov edx, edi
mov edi, ecx
call fcn.004595d0
mov edi, edx
jmp 0x4b986b
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], esi
jmp 0x4b980f
mov dword [edi + 0x10], esi
mov dword [edi + 0x14], edx
jmp 0x4b96ff
mov esi, dword [edx + 8]
sub edi, esi
sbb ebx, ebp
xor eax, eax
mov ebp, edi
xor ecx, ecx
jmp 0x4b95c2
mov edi, dword [esp + 0x94]
jmp 0x4b980f
cmp cx, 0x14c
je 0x4b9572
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
movzx eax, word [eax + 0x90]
mov word [esp], ax
call fcn.00408ca0
mov eax, dword [esp + 4]
lea ecx, [0x4cfcc0]
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], eax
lea eax, [0x4ef3a4]
mov dword [esp], eax
mov dword [esp + 4], 0x33
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004933f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
add esp, 0x120
ret
cmp cx, 0x1c4
je 0x4b9572
cmp cx, 0x8664
je 0x4b9572
jmp 0x4ba8b3
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], edx
add esp, 0x120
ret
mov dword [ebx + 0x10], edx
mov dword [ebx + 0x14], eax
jmp 0x4b94fb
mov eax, dword [ecx + 0x3c]
mov dword [esp + 0x40], eax
lea edx, [0x4cdda0]
mov dword [esp], edx
call fcn.0040b490
mov eax, dword [esp + 4]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x124]
mov edx, dword [ecx + 0x10]
mov ebx, dword [esp + 0x128]
mov dword [esp], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x10], ebp
call edx
mov eax, dword [esp + 0xbc]
cmp byte [eax], 0x50
jne 0x4baa25
cmp byte [eax + 1], 0x45
jne 0x4baa25
movzx ecx, byte [eax + 2]
test cl, cl
jne 0x4baa25
movzx ecx, byte [eax + 3]
test cl, cl
jne 0x4baa25
mov ebx, dword [esp + 0x40]
add ebx, 4
mov eax, 0
adc eax, 0
mov ecx, dword [esp + 0xa4]
mov edx, ebx
jmp 0x4b94bb
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
lea eax, [0x4cdda0]
mov dword [esp], eax
lea eax, [esp + 0x78]
mov dword [esp + 4], eax
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
lea eax, [0x4ed1f8]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004933f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
add esp, 0x120
ret
lea ecx, [0x4cfd80]
mov dword [esp], ecx
sub edx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00441c90
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00408ea0
mov eax, dword [esp + 0xc]
lea ecx, [0x510b8c]
mov dword [esp], ecx
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
lea ebx, [0x51128c]
mov dword [esp + 8], ebx
lea ebp, [0x5afe00]
mov dword [esp + 0xc], ebp
lea esi, [0x4cc280]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
call fcn.004b13f0
mov dword [esp + 0x84], 0x68636952
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
lea edx, [esp + 0x84]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 4
call fcn.004a1210
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x4babde
lea ecx, [eax + 8]
mov edx, dword [esp + 0x34]
cmp edx, ecx
jb 0x4baca1
mov ebx, dword [esp + 0xa4]
mov dword [ebx + 0x88], ecx
mov dword [ebx + 0x8c], edx
mov ecx, dword [0x5afef0]
test ecx, ecx
jne 0x4babca
mov eax, dword [esp + 0xb0]
mov dword [ebx + 0x84], eax
mov ecx, ebx
jmp 0x4b94ac
lea edi, [ebx + 0x84]
mov eax, dword [esp + 0xb0]
call fcn.004595d0
jmp 0x4babc3
mov ebx, dword [esp + 0xa4]
jmp 0x4babc3
lea eax, [0x4ce0e0]
mov dword [esp], eax
lea eax, [ecx + 0x41]
mov dword [esp + 4], eax
call fcn.00408f20
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004b27b0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x3c]
add eax, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x4b94a1
lea eax, [0x510b8c]
mov dword [esp], eax
mov edx, dword [esp + 0x94]
mov dword [esp + 4], edx
lea ebx, [0x51128c]
mov dword [esp + 8], ebx
lea ebp, [0x5afe00]
mov dword [esp + 0xc], ebp
lea esi, [0x4c7840]
mov dword [esp + 0x10], esi
lea esi, [ecx + 0x41]
mov dword [esp + 0x14], esi
call fcn.004b13f0
mov ecx, dword [esp + 0xa4]
mov byte [ecx + 0x40], 1
mov eax, dword [esp + 0x3c]
jmp 0x4b9495
lea edi, [eax + 4]
mov ecx, eax
mov eax, dword [esp + 0x128]
call fcn.004595d0
mov eax, ecx
jmp 0x4b93e0
call fcn.00459650
mov ecx, ebp
call fcn.00459650
call fcn.00459650
call fcn.00459690
nop
call fcn.00458070
jmp fcn.004b9370