Function at 0x4bff80
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 0x4c22e1
sub esp, 0xe8
mov ecx, dword [esp + 0x100]
test ecx, ecx
jle 0x4c21ed
mov edx, dword [esp + 0xf8]
test edx, edx
je 0x4bffc6
test edx, 0x60
je 0x4c2170
mov edi, dword [esp + 0xec]
mov dword [edi + 0xc], 0
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x4c2159
mov dword [edi + 0x10], 0
mov dword [edi + 0x1c], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x4c2123
mov ebx, dword [esp + 0xf0]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0x18], ebp
invalid
mov esi, edx
and edx, 0x1f
mov dword [esp + 0x80], edx
cmp edx, 0x10
jbe 0x4c1ce4
cmp edx, 0x15
ja 0x4c14ed
cmp edx, 0x13
ja 0x4c0a8e
cmp edx, 0x11
jne 0x4c0a49
mov eax, dword [esp + 0xfc]
cmp eax, 0x71
jg 0x4c0a32
cmp eax, 0x58
jne 0x4c0a24
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047c110
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], 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
mov eax, dword [esp + 4]
cmp eax, 8
jne 0x4c0367
mov eax, dword [esp + 0x80]
cmp eax, 0x17
je 0x4c0331
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x4c02b1
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.00479ba0
mov eax, dword [esp + 0xc]
lea ecx, [0x7720a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00438c00
mov eax, dword [esp + 0x14]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x9c], edx
xor ebx, ebx
jmp 0x4c012e
mov ebp, dword [esp + 0x9c]
mov byte [ebp + ecx], al
lea ebx, [ecx + 1]
mov eax, dword [esp + 0x70]
mov ecx, edx
mov edx, ebp
cmp ebx, ecx
jge 0x4c0240
mov dword [esp + 0x68], ebx
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 dword [esp + 0xc], ebx
call fcn.00479490
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x80], eax
cmp eax, 9
ja 0x4c01fe
cmp eax, 7
jne 0x4c0196
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x4c0118
jmp 0x4c2286
cmp eax, 8
jne 0x4c01aa
movzx eax, byte [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4c018f
cmp eax, 9
jne 0x4c01be
movzx eax, word [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4c018f
lea eax, [0x792e60]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c01ee
lea eax, [0x7e178d]
mov dword [edi], eax
jmp 0x4c21f9
lea eax, [0x7e178d]
call fcn.0044cc20
jmp 0x4c21f9
cmp eax, 0xa
jne 0x4c0214
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4c018f
cmp eax, 0xb
jne 0x4c022a
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4c018f
cmp eax, 0xc
jne 0x4c01be
mov eax, dword [ecx]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jmp 0x4c018f
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x9c], edx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x84]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
call fcn.004be190
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.00479ba0
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.0047bad0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00476e10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4c0240
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.00476e10
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
jmp 0x4c0240
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4c058b
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4c0539
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5b
xor ecx, ecx
jmp 0x4c040b
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.00479490
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
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.004bff80
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.00479ba0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x58]
cmp ecx, eax
jge 0x4c04c4
test ecx, ecx
jle 0x4c039b
mov eax, dword [esp + 0xec]
mov edx, dword [eax + 4]
lea ebx, [edx + 1]
mov ebp, dword [eax + 8]
mov esi, dword [eax]
cmp ebx, ebp
jg 0x4c0471
lea ebx, [edx + 1]
mov dword [eax + 4], ebx
mov byte [esi + edx], 0x20
jmp 0x4c039b
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c04bd
mov dword [edi], eax
mov edx, ecx
mov esi, eax
mov eax, edi
mov ecx, dword [esp + 0x58]
jmp 0x4c0462
call fcn.0044cc20
jmp 0x4c04b1
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4c04ec
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x5d
add esp, 0xe8
ret
lea eax, [0x7720a0]
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.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c0532
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4c04da
call fcn.0044cc20
jmp 0x4c052c
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c0584
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4c038d
call fcn.0044cc20
jmp 0x4c0579
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.0047c110
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 + 0x50], eax
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4c09d8
test ebp, ebp
jl 0x4c227f
cmp ebp, esi
ja 0x4c227f
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d420
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x4c09bc
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
cmp ebx, 0x17
jne 0x4c09b0
add ebx, 0xffffffeb
cmp ebx, 1
ja 0x4c098e
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4c08bc
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x50]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4c0865
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x4c0711
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.00479490
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
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.004bff80
mov eax, dword [esp + 0x5c]
inc eax
mov ebx, dword [esp + 0xf8]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call fcn.00479ba0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x5c]
cmp ecx, eax
jge 0x4c07f2
test ecx, ecx
jle 0x4c07eb
mov edi, dword [esp + 0xec]
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4c07a5
test ebx, ebx
jl 0x4c2271
cmp ebx, ebp
ja 0x4c2271
mov eax, ecx
movzx ecx, word [0x7dc263]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c0795
mov dword [edi], esi
jmp 0x4c069c
mov ecx, eax
mov eax, esi
call fcn.0044cc20
mov eax, ecx
jmp 0x4c069c
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438d80
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4c0761
mov eax, ecx
jmp 0x4c069c
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4c0818
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4c04e5
lea eax, [0x7720a0]
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.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c085e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4c0808
call fcn.0044cc20
jmp 0x4c0858
lea ebx, [0x7720a0]
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.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c08b5
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4c068e
call fcn.0044cc20
jmp 0x4c08a5
test ebx, 0x80
je 0x4c0980
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 0x4c067a
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4c0942
test ebx, ebx
jl 0x4c2278
cmp ebx, ecx
ja 0x4c2278
mov ebp, dword [0x7dc9ff]
movzx esi, byte [0x7dca03]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c0939
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044cc20
jmp 0x4c0932
mov dword [esp + 0x7c], ebx
lea ebp, [0x7720a0]
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.00438d80
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c08f8
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4c08d2
mov ebp, dword [esp + 0xf4]
mov ebx, dword [ebp]
test ebx, ebx
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
mov ebx, dword [esp + 0xf8]
jmp 0x4c08de
mov ebx, dword [esp + 0xf8]
jmp 0x4c067a
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4c064b
mov dword [esp + 0x88], ecx
lea eax, [0x7720a0]
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.00438d80
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4c05f1
cmp eax, 0x71
je 0x4c0057
jmp 0x4c0367
cmp eax, 0x73
je 0x4c0057
cmp eax, 0x78
je 0x4c0057
jmp 0x4c0367
lea eax, [edx - 0x12]
cmp eax, 1
ja 0x4c0a75
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.004be990
jmp 0x4c04e5
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004bd080
jmp 0x4c04e5
cmp edx, 0x14
je 0x4c1221
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4c0f67
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi]
mov ebp, dword [edi + 8]
cmp ecx, ebp
ja 0x4c0f17
test ecx, ecx
jl 0x4c22be
cmp ecx, ebp
ja 0x4c22be
mov ebx, dword [0x7dc8b9]
mov dword [esi + edx], ebx
mov dword [edi + 4], ecx
mov dword [edi + 8], ebp
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c0f07
mov dword [edi], esi
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.00479f10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
jle 0x4c0ce7
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x100]
mov ebp, dword [esp + 0xfc]
xor esi, esi
jmp 0x4c0b6b
mov edx, dword [esp + 0xac]
add edx, 0xc
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x100]
mov esi, dword [esp + 0xfc]
mov ebx, ebp
mov ebp, esi
mov ecx, edx
mov esi, eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x64], esi
mov edi, ebx
mov ebx, dword [ecx + 8]
mov dword [esp + 0x80], ebx
mov ebp, dword [ecx + 4]
mov dword [esp + 0xa8], ebp
mov ecx, dword [ecx]
mov dword [esp + 0xa4], ecx
test esi, esi
jle 0x4c0bf3
movzx esi, byte [edx + 0x2c]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4c0e83
mov esi, dword [edx + 4]
lea ebx, [esi + 2]
mov ebp, dword [edx + 8]
mov ecx, dword [edx]
cmp ebx, ebp
ja 0x4c0e36
test ebx, ebx
jl 0x4c22b7
cmp ebx, ebp
ja 0x4c22b7
mov dword [esp + 0x7c], ebp
movzx ebp, word [0x7dc263]
mov word [ecx + esi], bp
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [edx + 8], ebx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x4c0e20
mov dword [edx], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0xa8]
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x10], ebp
lea esi, [edi + 1]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x14], esi
call fcn.004bff80
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4c0dce
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x3a
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 ebp, dword [esp + 0xa4]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0xa8]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x14], ebp
call fcn.00479d40
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x14], ecx
call fcn.004bff80
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x54]
cmp eax, ecx
jl 0x4c0b39
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4c0d61
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov ebx, dword [eax]
lea ebp, [ecx + 1]
cmp ebp, edx
jg 0x4c0d14
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4c04e5
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebp
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c0d5a
mov dword [edi], eax
mov ebx, eax
mov eax, edi
jmp 0x4c0d05
call fcn.0044cc20
jmp 0x4c0d54
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
lea ebp, [edx + 1]
cmp ebp, ecx
jg 0x4c0d7f
lea ecx, [edx + 1]
mov dword [eax + 4], ecx
mov byte [ebx + edx], 0x5d
jmp 0x4c04e5
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c0dc7
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4c0d70
call fcn.0044cc20
jmp 0x4c0dbf
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c0e19
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
mov eax, edi
jmp 0x4c0c4c
call fcn.0044cc20
jmp 0x4c0e0e
mov ebx, edi
mov edi, edx
mov ebp, eax
mov eax, ecx
call fcn.0044cc20
mov eax, ebp
mov edi, ebx
jmp 0x4c0bf3
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], esi
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438d80
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x100]
jmp 0x4c0bba
mov esi, dword [edx + 4]
mov eax, dword [edx]
mov edi, dword [edx + 8]
lea ebx, [esi + 1]
cmp ebx, edi
jg 0x4c0eac
lea ebx, [esi + 1]
mov dword [edx + 4], ebx
mov byte [eax + esi], 0x20
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x100]
jmp 0x4c0bf3
lea ecx, [0x7720a0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebx
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c0f00
mov dword [edi], eax
mov edx, edi
mov ebp, dword [esp + 0xa8]
mov esi, ecx
mov ecx, dword [esp + 0xa4]
jmp 0x4c0e92
call fcn.0044cc20
jmp 0x4c0eec
mov ecx, eax
mov eax, esi
call fcn.0044cc20
mov eax, ecx
jmp 0x4c0ae7
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
call fcn.00438d80
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xec]
jmp 0x4c0ab8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047c110
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 + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [ecx + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4c11d5
test ebp, ebp
jl 0x4c22cc
cmp ebp, esi
ja 0x4c22cc
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0044d420
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x4c11b9
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
mov ebx, dword [esp + 0x80]
lea ebp, [ebx - 0x15]
cmp ebp, 1
ja 0x4c1179
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
je 0x4c10a7
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x4c]
lea ebp, [esi + ebp + 1]
cmp ebp, ecx
jg 0x4c1053
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
jmp 0x4c0ae7
lea ebx, [0x7720a0]
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.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c10a0
mov dword [edi], eax
mov ebx, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
jmp 0x4c1044
call fcn.0044cc20
jmp 0x4c1093
test ebx, 0x80
je 0x4c116b
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 0x4c1034
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ebx, ecx
ja 0x4c112d
test ebx, ebx
jl 0x4c22c5
cmp ebx, ecx
ja 0x4c22c5
mov ebp, dword [0x7dc9ff]
movzx esi, byte [0x7dca03]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c1124
mov dword [edi], edx
add esp, 0xe8
ret
mov eax, edx
call fcn.0044cc20
jmp 0x4c111d
mov dword [esp + 0x7c], ebx
lea ebp, [0x7720a0]
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.00438d80
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c10e3
mov ebp, dword [esp + 0xf4]
mov esi, ebp
jmp 0x4c10bd
lea eax, [0x792e60]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x13
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c11a9
lea eax, [0x7e210d]
mov dword [edi], eax
jmp 0x4c2217
lea eax, [0x7e210d]
call fcn.0044cc20
jmp 0x4c2217
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4c1012
mov dword [esp + 0x90], eax
lea eax, [0x7720a0]
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.00438d80
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4c0fb8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00478cd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test eax, eax
jne 0x4c14b6
mov edi, dword [esp + 0xec]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4c12f5
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp edx, ebx
ja 0x4c12b3
test edx, edx
jl 0x4c228d
cmp edx, ebx
ja 0x4c228d
movzx esi, byte [0x7dca62]
mov eax, ebx
mov ebx, dword [0x7dca5e]
mov dword [ebp + ecx], ebx
xchg esi, eax
mov byte [ebp + ecx + 4], al
xchg esi, eax
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c12a7
mov dword [edi], ebp
jmp 0x4c04e5
mov eax, ebp
call fcn.0044cc20
jmp 0x4c04e5
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], edx
lea eax, [0x7720a0]
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.00438d80
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4c1267
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.0047c110
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 + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp ebp, esi
ja 0x4c146a
test ebp, ebp
jl 0x4c229b
cmp ebp, esi
ja 0x4c229b
mov dword [esp + 0x74], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d420
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xbc7270]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x48]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4c144e
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
ja 0x4c1410
test ebx, ebx
jl 0x4c2294
cmp ebx, ecx
ja 0x4c2294
mov ebp, dword [0x7dc9ff]
movzx esi, byte [0x7dca03]
mov dword [edx + eax], ebp
xchg esi, ebx
mov byte [edx + eax + 4], bl
xchg esi, ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c1404
mov dword [edi], edx
jmp 0x4c04e5
mov eax, edx
call fcn.0044cc20
jmp 0x4c04e5
mov dword [esp + 0x7c], ebx
lea ebp, [0x7720a0]
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.00438d80
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c13c5
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4c13c1
mov dword [esp + 0x8c], ecx
lea eax, [0x7720a0]
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.00438d80
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4c135b
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
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.004bff80
jmp 0x4c04e5
cmp edx, 0x17
ja 0x4c1696
cmp edx, 0x16
jne 0x4c003e
test ecx, ecx
jne 0x4c0a51
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047aaf0
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x4c1540
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4c0a51
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.00478cd0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov ebx, eax
and eax, 0x1f
cmp eax, 0x15
ja 0x4c1682
cmp eax, 0x11
jne 0x4c1658
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
mov edi, dword [eax]
lea ebx, [esi + 1]
cmp ebx, ebp
jg 0x4c15e8
lea ebx, [esi + 1]
mov dword [eax + 4], ebx
mov byte [edi + esi], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x80]
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.004bff80
add esp, 0xe8
ret
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xa4], edx
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c1651
mov dword [edi], eax
mov edx, dword [esp + 0xa4]
mov esi, ecx
mov ecx, dword [esp + 0xa8]
mov ebx, eax
mov eax, edi
mov edi, ebx
jmp 0x4c15a5
call fcn.0044cc20
jmp 0x4c1636
cmp eax, 0x15
je 0x4c1588
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xec]
jmp 0x4c0a51
cmp eax, 0x17
je 0x4c1588
cmp eax, 0x19
je 0x4c1588
jmp 0x4c1661
cmp edx, 0x18
je 0x4c1ca5
cmp edx, 0x19
jne 0x4c1c97
movzx eax, byte [edi + 0x2c]
test al, al
jne 0x4c1b75
mov eax, dword [edi + 4]
mov edx, dword [edi + 8]
mov ecx, dword [edi]
lea esi, [eax + 1]
cmp esi, edx
jg 0x4c1b15
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 0x4c1765
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 + 0x60]
mov dword [esp + 0xc], ebx
call fcn.004bcef0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
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.004bff80
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x60], ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov eax, dword [esp + 0xf8]
mov dword [esp + 8], eax
call fcn.0047a620
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
cmp ecx, eax
jge 0x4c1aa2
test ecx, ecx
jle 0x4c1a94
mov edi, dword [esp + 0xec]
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4c1a23
mov edx, dword [edi + 4]
lea ebx, [edx + 2]
mov ebp, dword [edi + 8]
mov esi, dword [edi]
cmp ebx, ebp
ja 0x4c19dd
test ebx, ebx
jl 0x4c22a9
cmp ebx, ebp
ja 0x4c22a9
mov eax, ecx
movzx ecx, word [0x7dc263]
mov word [esi + edx], cx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebp
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c19cd
mov dword [edi], esi
movzx ecx, byte [edi + 0x2b]
test cl, cl
je 0x4c19bc
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.0047c110
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp], ecx
call eax
lea edi, [esp + 0xb4]
mov esi, dword [esp + 0xa0]
call fcn.0044d1ae
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4c19b0
mov dword [esp + 0x40], eax
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 4]
mov dword [esp + 0x7c], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x78], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4c1964
test ebp, ebp
jl 0x4c22a2
cmp ebp, edi
ja 0x4c22a2
mov dword [esp + 0xb0], esi
mov dword [esp + 0x74], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d420
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x74]
mov dword [edi + 8], ecx
mov edx, dword [0xbc7270]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4c194b
mov edx, dword [esp + 0xb0]
mov dword [edi], edx
cmp ebx, ecx
jg 0x4c18fe
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4c16e3
lea ebp, [0x7720a0]
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.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c1944
mov dword [edi], eax
mov edx, eax
mov eax, ecx
jmp 0x4c18ef
call fcn.0044cc20
jmp 0x4c193e
mov edx, eax
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
mov eax, edx
mov edx, dword [esp + 0xb0]
jmp 0x4c18eb
mov dword [esp + 0x94], ecx
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00438d80
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
jmp 0x4c1889
mov edi, dword [esp + 0xec]
jmp 0x4c16e3
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4c17fd
jmp 0x4c16e3
mov ecx, eax
mov eax, esi
call fcn.0044cc20
mov eax, ecx
jmp 0x4c17f1
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ebx
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.00438d80
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0xec]
jmp 0x4c17be
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
jg 0x4c1a43
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ebx + eax], 0x20
mov eax, ecx
jmp 0x4c17f1
lea ecx, [0x7720a0]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c1a8d
mov dword [edi], eax
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x60]
jmp 0x4c1a32
call fcn.0044cc20
jmp 0x4c1a83
mov eax, ecx
mov edi, dword [esp + 0xec]
jmp 0x4c17f1
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax + 8]
mov ebp, dword [eax]
cmp edx, ebx
jg 0x4c1ac8
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ecx], 0x7d
jmp 0x4c04e5
lea eax, [0x7720a0]
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.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c1b0e
mov dword [edi], eax
mov ebp, eax
mov eax, edi
jmp 0x4c1ab8
call fcn.0044cc20
jmp 0x4c1b08
lea ebx, [0x7720a0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438d80
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 [0xbc7270]
test edx, edx
jne 0x4c1b6e
mov dword [edi], eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edx, eax
mov eax, ecx
mov ecx, edx
jmp 0x4c16c7
call fcn.0044cc20
jmp 0x4c1b55
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047c110
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, [eax + ebx]
mov dword [esp + 0x7c], ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp ebp, edi
ja 0x4c1c43
test ebp, ebp
jl 0x4c22b0
cmp ebp, edi
ja 0x4c22b0
mov dword [esp + 0xb0], esi
mov dword [esp + 0x78], edi
lea edx, [esi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0044d420
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c1c35
mov eax, dword [esp + 0xb0]
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 0x4c16b4
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
jmp 0x4c1c14
mov dword [esp + 0x78], ebx
mov dword [esp + 0x44], eax
mov dword [esp + 0x98], ecx
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ebp
call fcn.00438d80
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
jmp 0x4c1bbe
cmp edx, 0x1a
je 0x4c0a51
jmp 0x4c0a75
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0047bf00
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.004be020
jmp 0x4c04e5
cmp edx, 0xc
ja 0x4c2046
cmp edx, 1
ja 0x4c1ec5
test esi, 0x1f
jne 0x4c1e8d
test ecx, ecx
jne 0x4c1dd0
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x7c], ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ecx, ebx
ja 0x4c1d92
test ecx, ecx
jl 0x4c22da
cmp ecx, ebx
ja 0x4c22da
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb0], edx
add eax, edx
mov dword [esp], eax
lea eax, [0x7e3ebb]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0044d420
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x78]
mov dword [edi + 8], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c1d81
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
jmp 0x4c04e5
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
jmp 0x4c04e5
mov dword [esp + 0x78], eax
lea ebp, [0x7720a0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438d80
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c1d1d
mov ecx, dword [esp + 0xfc]
cmp ecx, 0x76
jne 0x4c1e7c
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp edx, ebp
ja 0x4c1e3a
test edx, edx
jl 0x4c22d3
cmp edx, ebp
ja 0x4c22d3
mov esi, dword [0x7dca5e]
mov eax, ebp
movzx ebp, byte [0x7dca62]
mov dword [ebx + ecx], esi
xchg ebp, eax
mov byte [ebx + ecx + 4], al
xchg ebp, eax
mov dword [edi + 4], edx
mov dword [edi + 8], eax
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c1e2e
mov dword [edi], ebx
jmp 0x4c04e5
mov eax, ebx
call fcn.0044cc20
jmp 0x4c04e5
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x7720a0]
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.00438d80
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov edi, dword [esp + 0xec]
jmp 0x4c1def
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004bd320
jmp 0x4c04e5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00476dd0
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.004bd8d0
jmp 0x4c04e5
lea eax, [edx - 2]
cmp eax, 4
ja 0x4c1f7f
cmp edx, 3
ja 0x4c1f13
cmp edx, 2
jne 0x4c1f08
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.004bd9b0
jmp 0x4c04e5
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c1ee3
cmp edx, 4
jne 0x4c1f23
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c1ee3
cmp edx, 5
jne 0x4c1f32
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4c1ee3
cmp edx, 6
jne 0x4c1f3f
mov ecx, dword [ebp]
mov eax, dword [ebp + 4]
jmp 0x4c1ee3
lea eax, [0x792e60]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x11
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c1f6f
lea eax, [0x7e1069]
mov dword [edi], eax
jmp 0x4c2253
lea eax, [0x7e1069]
call fcn.0044cc20
jmp 0x4c2253
lea eax, [edx - 7]
cmp eax, 5
ja 0x4c0a75
cmp edx, 9
ja 0x4c201d
cmp edx, 7
jne 0x4c1fc3
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.004bd9b0
jmp 0x4c04e5
cmp edx, 8
jne 0x4c1fd0
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4c1f9e
cmp edx, 9
jne 0x4c1fdd
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4c1f9e
lea eax, [0x792e60]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x12
mov eax, dword [0xbc7270]
test eax, eax
jne 0x4c200d
lea eax, [0x7e178d]
mov dword [edi], eax
jmp 0x4c2235
lea eax, [0x7e178d]
call fcn.0044cc20
jmp 0x4c2235
cmp edx, 0xa
jne 0x4c202c
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4c1f9e
cmp edx, 0xb
jne 0x4c203c
mov ecx, dword [ebp + 4]
mov eax, dword [ebp]
jmp 0x4c1f9e
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4c1f9e
cmp edx, 0xe
ja 0x4c20aa
cmp edx, 0xd
jne 0x4c207f
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bdcd0
jmp 0x4c04e5
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004bdcd0
jmp 0x4c04e5
cmp edx, 0xf
jne 0x4c20ed
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.004bde30
jmp 0x4c04e5
movsd xmm0, qword [ebp + 8]
movsd xmm1, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.004bde30
jmp 0x4c04e5
lea esi, [edi + 0x14]
mov eax, edi
mov edi, esi
mov ebx, eax
mov eax, dword [esp + 0xf0]
call fcn.0044cc20
lea edi, [ebx + 0x18]
mov ebp, eax
mov eax, dword [esp + 0xf4]
call fcn.0044cc20
mov ebx, ebp
mov ebp, eax
mov edi, dword [esp + 0xec]
jmp 0x4c000e
lea ebx, [edi + 0x10]
mov eax, edi
mov edi, ebx
mov ebp, eax
xor eax, eax
call fcn.0044cc20
mov edi, ebp
jmp 0x4bffe9
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00479800
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], ecx
mov ecx, dword [0xbc7270]
test ecx, ecx
jne 0x4c21e3
mov dword [edx + 0x10], eax
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004bf2d0
movzx eax, byte [esp + 8]
test al, al
jne 0x4c21dc
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0xf8]
jmp 0x4bffc6
add esp, 0xe8
ret
lea edi, [edx + 0x10]
call fcn.0044cc20
jmp 0x4c21ad
mov edx, dword [esp + 0xf8]
jmp 0x4bffc6
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x780b40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427510
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x780b40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427510
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x780b40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427510
ud2
mov eax, dword [esp + 0x80]
mov dword [edi + 8], eax
lea eax, [0x780b40]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00427510
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426630
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.00426730
ud2
call fcn.0044b4c0
jmp fcn.004bff80