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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x4b391c
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4b38c9
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x4b1a56
test edx, 0x60
je 0x4b3847
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x4b3830
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x4b37fa
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x4b349b
cmp edx, 0x15
ja 0x4b2cee
cmp edx, 0x13
ja 0x4b23e8
cmp edx, 0x11
jne 0x4b23c4
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x4b23ad
cmp eax, 0x58
jne 0x4b239f
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4b1d9e
mov eax, dword [esp + 0x7c]
cmp eax, 0x17
je 0x4b1d68
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x4b1ce8
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00489040
mov eax, dword [esp + 0xc]
mov dword [esp + 0x6c], eax
lea ecx, [0x643900]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00444130
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4b1ba6
mov ebx, dword [esp + 0xb0]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x6c]
cmp edx, ecx
jle 0x4b1c75
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00488d00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
nop
and ecx, 0x1f
mov dword [esp + 0x7c], ecx
cmp ecx, 9
ja 0x4b1c38
cmp ecx, 7
jne 0x4b1c0c
mov edx, dword [eax]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
ja 0x4b1b95
jmp 0x4b38d5
cmp ecx, 8
jne 0x4b1c20
movzx edx, byte [eax]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jmp 0x4b1c05
cmp ecx, 9
jne 0x4b38da
movzx edx, word [eax]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jmp 0x4b1c05
cmp ecx, 0xa
jne 0x4b1c4b
mov edx, dword [eax]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jmp 0x4b1c05
cmp ecx, 0xb
jne 0x4b1c5e
mov edx, dword [eax]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jmp 0x4b1c05
cmp ecx, 0xc
jne 0x4b38da
mov edx, dword [eax]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jmp 0x4b1c05
mov ecx, edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004afc30
add esp, 0xe8
ret
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.00489040
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.0048a450
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00488290
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4b1c77
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00488290
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4b1c77
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4b1fbf
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4b1f6f
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5b
xor ecx, ecx
jmp 0x4b1e42
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00488d00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004b1a10
mov eax, dword [esp + 0x58]
lea ecx, [eax + 1]
mov dword [esp + 0x58], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
call fcn.00489040
mov eax, dword [esp + 0x58]
cmp dword [esp + 0xc], eax
jle 0x4b1efa
test eax, eax
jle 0x4b1dd2
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
cmp ebx, esi
ja 0x4b1ea7
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [ebp + edx], 0x20
jmp 0x4b1dd2
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b1ef3
mov dword [edi], eax
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x58]
mov ecx, edi
jmp 0x4b1e97
call fcn.0045c920
jmp 0x4b1ee7
nop
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x4b1f22
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b1f68
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b1f11
call fcn.0045c920
jmp 0x4b1f62
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b1fb8
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b1dc4
call fcn.0045c920
jmp 0x4b1faf
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [ebx + eax]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4b235e
mov dword [esp + 0x70], esi
mov dword [esp + 0xac], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045d2c0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b2342
mov edx, dword [esp + 0xac]
mov dword [edi], edx
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x17
jne 0x4b2336
mov ebx, dword [esp + 0xf4]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x4b22bc
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jb 0x4b2265
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x4b2132
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.00488d00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004b1a10
mov eax, dword [esp + 0x60]
inc eax
mov ebx, dword [esp + 0xf4]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.00489040
mov eax, dword [esp + 0x60]
cmp dword [esp + 0xc], eax
jle 0x4b21f2
test eax, eax
jle 0x4b20bd
nop
mov edi, dword [esp + 0xec]
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jb 0x4b21af
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b219f
mov dword [edi], ebp
jmp 0x4b20bd
mov ecx, eax
mov eax, ebp
call fcn.0045c920
mov eax, ecx
jmp 0x4b20bd
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x4b2181
nop
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jb 0x4b2218
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4b1f1b
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b225e
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b2209
call fcn.0045c920
jmp 0x4b2258
lea ebx, [0x643900]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b22b5
mov dword [edi], eax
mov ebx, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
jmp 0x4b20af
call fcn.0045c920
jmp 0x4b22a5
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jb 0x4b22fb
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b22f2
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0045c920
jmp 0x4b22eb
mov dword [esp + 0x78], ebx
lea ebp, [0x643900]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4b22cd
mov ebx, dword [esp + 0xf4]
jmp 0x4b209b
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0045c920
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4b206f
mov dword [esp + 0x98], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x78]
jmp 0x4b2025
cmp eax, 0x71
je 0x4b1ae5
jmp 0x4b1d9e
cmp eax, 0x73
je 0x4b1ae5
cmp eax, 0x78
je 0x4b1ae5
jmp 0x4b1d9e
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004b0310
jmp 0x4b1f1b
cmp edx, 0x14
je 0x4b2a81
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4b284c
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jb 0x4b27fc
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b27ec
mov dword [edi], ebp
mov dword [esp], ebx
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.004934d0
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
jle 0x4b25bc
mov dword [esp + 0x78], ecx
mov dword [esp + 0x84], eax
xor ebx, ebx
jmp 0x4b2482
mov ebp, dword [esp + 0xa8]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x64], ebx
mov ebp, dword [edx + 4]
mov dword [esp + 0xb0], ebp
mov esi, dword [edx + 8]
mov dword [esp + 0x7c], esi
mov edi, edx
mov edx, dword [edx]
mov dword [esp + 0xa4], edx
test ebx, ebx
jle 0x4b27e0
mov ecx, dword [esp + 0xec]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4b2759
nop
mov ebx, dword [ecx + 4]
lea esi, [ebx + 2]
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
cmp ebp, esi
jb 0x4b2709
mov word [edx + ebx], 0x202c
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebp
mov ebx, dword [0x7e34e0]
test ebx, ebx
jne 0x4b26f3
mov dword [ecx], edx
mov dword [esp], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x100]
lea ebx, [edx + 1]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ebx
call fcn.004b1a10
nop
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4b26a3
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x3a
mov edx, dword [esp + 0x84]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x64]
cmp ecx, ebp
jbe 0x4b3914
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x74]
mov dword [esp + 0x14], edx
call fcn.004b1a10
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jg 0x4b246f
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4b2637
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4b25ea
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4b1f1b
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b2630
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b25db
call fcn.0045c920
jmp 0x4b262a
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4b2656
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x4b1f1b
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b269c
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b2647
call fcn.0045c920
jmp 0x4b2696
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b26ec
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b2552
call fcn.0045c920
jmp 0x4b26e3
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0045c920
mov eax, ebp
mov edi, ebx
jmp 0x4b24f4
mov dword [esp + 0x74], ebx
mov dword [esp + 0x70], esi
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0xa8]
jmp 0x4b24d8
mov ebx, dword [ecx + 4]
lea edi, [ebx + 1]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, edi
jb 0x4b2785
lea esi, [ebx + 1]
mov dword [ecx + 4], esi
mov byte [eax + ebx], 0x20
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xa8]
jmp 0x4b24f4
lea ecx, [0x643900]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b27d9
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xb0]
mov ebx, ecx
mov ecx, edi
jmp 0x4b2768
call fcn.0045c920
jmp 0x4b27c5
mov ecx, dword [esp + 0xec]
jmp 0x4b24f4
mov ecx, eax
mov eax, ebp
call fcn.0045c920
mov eax, ecx
jmp 0x4b2431
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xec]
jmp 0x4b2413
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jb 0x4b2a40
mov dword [esp + 0x70], esi
mov dword [esp + 0xac], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045d2c0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b2a24
mov edx, dword [esp + 0xac]
mov dword [edi], edx
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4b2970
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x48]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jb 0x4b291c
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
mov ebx, dword [esp + 0xf0]
jmp 0x4b2431
lea ebx, [0x643900]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b2969
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4b2906
call fcn.0045c920
jmp 0x4b295c
test ebx, 0x80
je 0x4b2a16
mov ebp, dword [esp + 0xf4]
mov esi, dword [ebp]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
je 0x4b28f6
nop
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jb 0x4b29db
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b29d2
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0045c920
jmp 0x4b29cb
mov dword [esp + 0x78], ebx
lea ebp, [0x643900]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4b29ad
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4b2986
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0045c920
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4b28e7
mov dword [esp + 0x90], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x90]
mov ebx, dword [esp + 0x78]
jmp 0x4b289d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00488aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
test eax, eax
jne 0x4b2cb7
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4b2b33
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jb 0x4b2af4
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b2ae8
mov dword [edi], ebp
jmp 0x4b1f1b
mov eax, ebp
call fcn.0045c920
jmp 0x4b1f1b
mov dword [esp + 0x78], ecx
mov dword [esp + 0x74], edx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
jmp 0x4b2ac4
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [ebx + eax]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jb 0x4b2c76
mov dword [esp + 0xac], edi
mov dword [esp + 0x70], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045d2c0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x7e34e0]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4b2c5a
mov edx, dword [esp + 0xac]
mov dword [edi], edx
nop
cmp ebx, ecx
ja 0x4b2c1f
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b2c13
mov dword [edi], edx
jmp 0x4b1f1b
mov eax, edx
call fcn.0045c920
jmp 0x4b1f1b
mov dword [esp + 0x78], ebx
lea ebp, [0x643900]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4b2bf0
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0045c920
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4b2beb
mov dword [esp + 0x88], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x88]
mov ebx, dword [esp + 0x78]
jmp 0x4b2b99
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004b1a10
jmp 0x4b1f1b
cmp edx, 0x17
ja 0x4b2e90
cmp edx, 0x16
jne 0x4b1ac8
test ecx, ecx
je 0x4b2e4f
xor eax, eax
test al, al
je 0x4b23c4
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00488aa0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
nop
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4b2e3b
cmp eax, 0x11
jne 0x4b2e11
mov dword [esp + 0x7c], ebx
nop
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 4]
lea esi, [ebp + 1]
mov edi, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, esi
jb 0x4b2da1
lea ebx, [ebp + 1]
mov dword [eax + 4], ebx
mov byte [edi + ebp], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004b1a10
add esp, 0xe8
ret
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xa4], edx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b2e0a
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov ebp, ecx
mov ecx, dword [esp + 0xb0]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x4b2d61
call fcn.0045c920
jmp 0x4b2def
cmp eax, 0x15
je 0x4b2d46
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4b23c4
cmp eax, 0x17
je 0x4b2d46
cmp eax, 0x19
je 0x4b2d46
jmp 0x4b2e1a
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00489ba0
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4b2d0a
cmp edx, 0x18
je 0x4b345c
cmp edx, 0x19
jne 0x4b343a
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x4b3337
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi]
mov esi, dword [edi + 8]
cmp edx, esi
ja 0x4b32d7
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
lea eax, [esp + 8]
mov dword [esp + 0xa0], eax
xor ecx, ecx
jmp 0x4b2f5f
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
call fcn.004aea10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004b1a10
mov eax, dword [esp + 0x54]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x54], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.00489af0
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x4b3265
test eax, eax
jle 0x4b3259
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4b31ec
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4b31a6
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b3196
mov dword [edi], ebp
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4b3185
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 8], edx
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.0045d04e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4b3179
mov dword [esp + 0x40], eax
nop
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x78], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x74], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jb 0x4b3138
mov dword [esp + 0x70], esi
mov dword [esp + 0xac], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045d2c0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x70]
mov dword [edi + 8], ecx
mov edx, dword [0x7e34e0]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4b311f
mov edx, dword [esp + 0xac]
mov dword [edi], edx
cmp ebx, ecx
ja 0x4b30d2
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4b2edd
lea ebp, [0x643900]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b3118
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4b30c3
call fcn.0045c920
jmp 0x4b3112
mov edx, eax
mov eax, dword [esp + 0xac]
call fcn.0045c920
mov eax, edx
mov edx, dword [esp + 0xac]
jmp 0x4b30bf
mov dword [esp + 0x94], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x78]
jmp 0x4b306d
mov edi, dword [esp + 0xec]
jmp 0x4b2edd
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4b2fe0
jmp 0x4b2edd
mov ecx, eax
mov eax, ebp
call fcn.0045c920
mov eax, ecx
jmp 0x4b2fd4
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4b2fb7
mov ecx, dword [edi + 4]
lea edx, [ecx + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x4b320a
lea edx, [ecx + 1]
mov dword [edi + 4], edx
mov byte [ebx + ecx], 0x20
jmp 0x4b2fd4
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b3252
mov dword [edi], eax
mov ebx, eax
mov eax, dword [esp + 0x54]
jmp 0x4b31fb
call fcn.0045c920
jmp 0x4b324a
mov edi, dword [esp + 0xec]
jmp 0x4b2fd4
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp edx, ebp
ja 0x4b328a
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4b1f1b
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b32d0
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4b327b
call fcn.0045c920
jmp 0x4b32ca
lea ebx, [0x643900]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.004441e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xec]
mov dword [edi + 8], edx
mov edx, dword [0x7e34e0]
test edx, edx
jne 0x4b3330
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4b2ec1
call fcn.0045c920
jmp 0x4b3317
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048a780
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
lea ebp, [ebx + eax]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4b33f1
mov dword [esp + 0x74], esi
mov dword [esp + 0xac], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045d2c0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x4b33e3
mov eax, dword [esp + 0xac]
mov dword [edi], eax
mov ecx, dword [esp + 0x100]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
jmp 0x4b2eae
mov eax, dword [esp + 0xac]
call fcn.0045c920
jmp 0x4b33c2
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x50], eax
mov dword [esp + 0x74], ebx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004441e0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x74]
jmp 0x4b337c
cmp edx, 0x1a
je 0x4b23c4
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004aeb80
jmp 0x4b1f1b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0048a690
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.004afa90
jmp 0x4b1f1b
cmp edx, 0xc
ja 0x4b371d
cmp edx, 1
ja 0x4b363d
test edx, edx
jne 0x4b3605
test ecx, ecx
jne 0x4b3569
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x78], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp ecx, edx
ja 0x4b3536
mov dword [esp + 0x74], edx
mov dword [esp + 0xac], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x6800eb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0045d2c0
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x74]
mov dword [edi + 8], eax
mov eax, dword [0x7e34e0]
test eax, eax
jne 0x4b3525
mov eax, dword [esp + 0xac]
mov dword [edi], eax
jmp 0x4b1f1b
mov eax, dword [esp + 0xac]
call fcn.0045c920
jmp 0x4b1f1b
mov dword [esp + 0x74], eax
lea ebp, [0x643900]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004441e0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x74]
jmp 0x4b34d1
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x4b35f4
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4b35b5
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b35a9
mov dword [edi], ebp
jmp 0x4b1f1b
mov eax, ebp
call fcn.0045c920
jmp 0x4b1f1b
mov dword [esp + 0x78], edx
mov dword [esp + 0x74], ecx
lea eax, [0x643900]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004441e0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4b3585
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004aedf0
jmp 0x4b1f1b
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004881e0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xec]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.004af310
jmp 0x4b1f1b
cmp edx, 6
ja 0x4b36ab
cmp edx, 3
ja 0x4b3684
cmp edx, 2
jne 0x4b3679
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004af400
jmp 0x4b1f1b
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b3654
cmp edx, 4
jne 0x4b3694
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b3654
cmp edx, 5
jne 0x4b36a3
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4b3654
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4b3654
cmp edx, 7
jb 0x4b3443
cmp edx, 9
ja 0x4b36fd
cmp edx, 7
jne 0x4b36e8
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004af400
jmp 0x4b1f1b
cmp edx, 8
jne 0x4b36f5
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4b36c3
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4b36c3
cmp edx, 0xa
jne 0x4b3709
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4b36c3
cmp edx, 0xb
jne 0x4b3716
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4b36c3
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4b36c3
cmp edx, 0xe
ja 0x4b3781
cmp edx, 0xd
jne 0x4b3756
fld dword [ebp]
mov dword [esp], edi
fld st(0)
fstp st(1)
fld st(0)
fstp qword [esp + 4]
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
fstp st(0)
call fcn.004af740
jmp 0x4b1f1b
fld qword [ebp]
mov dword [esp], edi
fld st(0)
fstp qword [esp + 4]
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
fstp st(0)
call fcn.004af740
jmp 0x4b1f1b
cmp edx, 0xf
jne 0x4b37c4
fld dword [ebp]
fld dword [ebp + 4]
mov dword [esp], edi
fld st(1)
fstp st(2)
fld st(1)
fstp qword [esp + 4]
fld st(0)
fstp st(2)
fld st(1)
fstp qword [esp + 0xc]
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
fstp st(0)
fstp st(0)
call fcn.004af8b0
jmp 0x4b1f1b
fld qword [ebp]
fld qword [ebp + 8]
mov dword [esp], edi
fld st(1)
fstp qword [esp + 4]
fld st(0)
fstp qword [esp + 0xc]
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
fstp st(0)
fstp st(0)
call fcn.004af8b0
jmp 0x4b1f1b
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.0045c920
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.0045c920
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x4b1a9e
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0045c920
mov edi, ebp
jmp 0x4b1a79
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00488eb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x7e34e0]
test ecx, ecx
jne 0x4b38bf
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004b0c80
movzx eax, byte [esp + 8]
test al, al
jne 0x4b38b8
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x4b1a56
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.0045c920
jmp 0x4b3889
mov edx, dword [esp + 0xf8]
jmp 0x4b1a56
call fcn.0045c9a0
lea eax, [0x653b80]
mov dword [esp], eax
call fcn.0040c800
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x67e276]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
lea ecx, [0x649280]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00431bb0
mov eax, ebp
call fcn.0045c9a0
nop
call fcn.0045b380
jmp fcn.004b1a10