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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a0852
sub esp, 0x68
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov byte [eax + 0x7c], 0
xor ecx, ecx
mov edx, ecx
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jge 0x49fc4b
mov byte [eax + 0x7d], 1
mov ebp, dword [esp + 0x70]
mov esi, ecx
cmp ecx, ebx
jge 0x49f9d8
jae 0x4a084b
movzx edi, byte [ebp + ecx]
xchg edi, eax
cmp al, 0x25
xchg edi, eax
je 0x4a0842
inc ecx
cmp ecx, ebx
jl 0x49f9bd
mov dword [esp + 0x30], ecx
cmp ecx, esi
jg 0x4a0738
cmp ecx, ebx
jge 0x4a072f
lea esi, [eax + 0x20]
test byte [esi], al
mov dword [eax + 0x24], 0
mov dword [eax + 0x25], 0
mov dword [eax + 0x29], 0
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, ebx
jge 0x49fa3d
jae 0x4a0728
movzx esi, byte [ebp + ecx]
xchg esi, eax
cmp al, 0x23
xchg esi, eax
ja 0x4a06e6
xchg esi, eax
cmp al, 0x20
xchg esi, eax
jne 0x4a064d
mov byte [eax + 0x29], 1
inc ecx
mov dword [esp + 0x30], ecx
cmp ecx, ebx
jl 0x49fa0f
mov edi, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
call fcn.0049f510
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
movzx edx, byte [esp + 0x20]
mov byte [esp + 0x27], dl
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jge 0x4a0644
jae 0x4a063d
mov ebp, dword [esp + 0x70]
movzx esi, byte [ebp + ecx]
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
je 0x4a0511
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00499c70
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x30], eax
mov byte [ebx + 0x24], cl
movzx eax, byte [esp + 0x27]
test al, al
je 0x49fad8
test cl, cl
je 0x49fad8
mov byte [ebx + 0x7d], 0
mov ecx, dword [esp + 0x38]
lea ebp, [edx + 1]
mov dword [esp + 0x44], ebp
mov esi, dword [esp + 0x74]
cmp ebp, esi
jge 0x49fbb1
cmp edx, esi
jae 0x4a050a
mov edi, dword [esp + 0x70]
movzx ebp, byte [edi + edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x49fbb1
test al, al
je 0x49fb12
mov byte [ebx + 0x7d], 0
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x14], eax
call fcn.0049f510
mov eax, dword [esp + 0x18]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
movzx edx, byte [esp + 0x20]
mov byte [esp + 0x27], dl
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jge 0x4a0501
jae 0x4a04fa
mov ebp, dword [esp + 0x70]
movzx esi, byte [ebp + ecx]
xchg esi, eax
cmp al, 0x2a
xchg esi, eax
je 0x4a03cf
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.00499c70
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x34], eax
mov byte [ebx + 0x25], cl
test cl, cl
je 0x4a03bf
movzx eax, byte [esp + 0x27]
mov ecx, dword [esp + 0x38]
test al, al
je 0x4a0386
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0x74]
cmp edx, eax
jge 0x4a02c4
ja 0x4a02bd
sub eax, edx
lea esi, [eax - 1]
sar esi, 0x1f
xor esi, 0xffffffff
and esi, edx
mov edi, dword [esp + 0x70]
add esi, edi
mov dword [esp], esi
mov dword [esp + 4], eax
call fcn.0044d090
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
add ecx, edx
mov dword [esp + 0x30], ecx
cmp eax, 0x25
jne 0x4a0203
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [eax]
lea esi, [ebx + 1]
cmp esi, edx
jg 0x4a019b
lea edx, [ebx + 1]
mov dword [eax + 4], edx
mov byte [ebp + ebx], 0x25
mov edx, dword [esp + 0x38]
mov eax, edx
mov edx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x74]
cmp ecx, ebx
jl 0x49f9af
mov ecx, eax
mov eax, edx
mov dword [esp + 0x38], eax
movzx edx, byte [ecx + 0x7c]
test dl, dl
jne 0x49fedc
mov edx, dword [esp + 0x7c]
cmp eax, edx
jge 0x49fedc
lea ebx, [ecx + 0x20]
test byte [ebx], al
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x25], 0
mov dword [ecx + 0x29], 0
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov dword [esp + 0x44], esi
lea edi, [esi + 9]
mov dword [esp + 0x40], edi
cmp edi, ebx
ja 0x4a015c
mov dword [esp + 0x44], ebx
mov dword [esp + 0x5c], ebp
cmp edi, ebx
ja 0x4a0155
add esi, ebp
mov dword [esp], esi
lea esi, [0x64c1f7]
mov dword [esp + 4], esi
mov dword [esp + 8], 9
call fcn.0044a7d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a0132
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x7c]
cmp eax, edx
ja 0x4a012b
sub edx, eax
mov dword [esp + 0x44], edx
mov ebx, dword [esp + 0x80]
sub ebx, eax
shl eax, 3
dec ebx
sar ebx, 0x1f
xor ebx, 0xffffffff
and eax, ebx
mov ebx, dword [esp + 0x78]
lea eax, [ebx + eax]
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], eax
cmp ebx, edx
jge 0x49fec3
mov ebp, dword [eax + 4]
mov dword [esp + 0x54], ebp
mov esi, dword [eax]
mov dword [esp + 0x50], esi
test ebx, ebx
jle 0x49fdb4
mov edi, dword [ecx]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x40], ebx
lea eax, [ebx + 2]
mov dword [esp + 0x3c], eax
cmp eax, edx
ja 0x4a00ec
mov dword [esp + 0x5c], edi
mov dword [esp + 0x40], edx
cmp eax, edx
ja 0x4a00e5
add ebx, edi
mov dword [esp], ebx
lea ebx, [0x64ac96]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.0044a7d0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a00cc
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a000f
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x54]
mov dword [esp + 0x64], edx
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x4a0006
lea ebp, [0x746d40]
mov ebp, dword [ebp + 0x84]
mov dword [esp], ebx
call ebp
mov eax, dword [esp + 4]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x6c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov dword [esp + 0x40], ebx
mov ebp, dword [esp + 8]
mov dword [esp + 0x2c], ebp
lea esi, [ebx + ebp]
mov dword [esp + 0x3c], esi
mov edi, dword [ecx]
cmp esi, edx
ja 0x49ffc7
mov dword [esp + 0x5c], edi
mov dword [esp + 0x40], edx
cmp esi, edx
ja 0x49ffc0
add ebx, edi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.0044a7d0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x49ffa7
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
mov ebx, dword [ecx + 8]
lea ebp, [eax + 1]
cmp ebp, ebx
jg 0x49ff43
lea ebx, [eax + 1]
mov dword [ecx + 4], ebx
mov byte [edx + eax], 0x3d
mov dword [esp], ecx
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x76
call fcn.0049c4a0
mov ebp, dword [esp + 0x58]
lea eax, [ebp + 8]
mov ebp, dword [esp + 0x34]
lea ebx, [ebp + 1]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x58], eax
cmp ebx, edx
jl 0x49fd36
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
lea ebp, [edx + 1]
cmp ebp, eax
jg 0x49fee0
lea eax, [edx + 1]
mov dword [ecx + 4], eax
mov byte [ebx + edx], 0x29
add esp, 0x68
ret
lea esi, [0x60ce40]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.00437350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 8], edx
mov edx, dword [0x77c810]
test edx, edx
jne 0x49ff2d
mov dword [ebx], eax
mov eax, dword [ebx]
mov ecx, ebx
mov edx, dword [esp + 0x44]
mov ebx, eax
jmp 0x49fed2
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x6c]
jmp 0x49ff21
lea esi, [0x60ce40]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00437350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 8], edx
mov edx, dword [0x77c810]
test edx, edx
jne 0x49ff91
mov dword [ebx], eax
mov edx, dword [ebx]
mov ecx, ebx
mov eax, dword [esp + 0x40]
jmp 0x49fe73
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x6c]
jmp 0x49ff84
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x6c]
jmp 0x49fe60
call fcn.004246c0
ud2
lea ecx, [0x60ce40]
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00437350
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
jmp 0x49fe18
xor ebp, ebp
xor ebx, ebx
jmp 0x49fdde
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
mov dword [esp + 0x40], edx
mov ebx, dword [ecx]
lea ebp, [edx + 5]
mov dword [esp + 0x3c], ebp
cmp ebp, eax
ja 0x4a0095
mov dword [esp + 0x40], eax
mov dword [esp + 0x5c], ebx
cmp ebp, eax
ja 0x4a008e
add edx, ebx
mov dword [esp], edx
lea edx, [0x64b396]
mov dword [esp + 4], edx
mov dword [esp + 8], 5
call fcn.0044a7d0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x40]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a0075
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
jmp 0x49fe9d
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x6c]
jmp 0x49fe9d
call fcn.004246c0
ud2
lea esi, [0x60ce40]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
call fcn.00437350
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
jmp 0x4a0026
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x6c]
jmp 0x49fdb4
call fcn.004246c0
ud2
lea ebp, [0x60ce40]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00437350
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
jmp 0x49fd62
call fcn.004246c0
ud2
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x7c]
cmp eax, edx
mov ecx, dword [esp + 0x6c]
jmp 0x49fcfc
call fcn.004246c0
ud2
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edi
call fcn.00437350
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x40]
jmp 0x49fca0
lea edi, [0x60ce40]
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00437350
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 8], edx
mov edx, dword [0x77c810]
test edx, edx
jne 0x4a01ed
mov dword [ebx], eax
mov ebp, dword [ebx]
mov eax, ebx
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
jmp 0x49fc24
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x6c]
jmp 0x4a01dc
mov edx, dword [esp + 0x6c]
movzx ebx, byte [edx + 0x7d]
test bl, bl
je 0x4a02a0
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x7c]
cmp ebx, ebp
jge 0x4a0283
cmp eax, 0x76
jne 0x4a027f
movzx esi, byte [edx + 0x28]
xchg esi, eax
mov byte [edx + 0x2c], al
xchg esi, eax
mov byte [edx + 0x28], 0
movzx esi, byte [edx + 0x27]
xchg esi, eax
mov byte [edx + 0x2b], al
xchg esi, eax
mov byte [edx + 0x27], 0
cmp ebx, ebp
jae 0x4a0278
shl ebx, 3
mov edi, dword [esp + 0x78]
mov ebp, dword [edi + ebx + 4]
mov ebx, dword [edi + ebx]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp], edx
mov dword [esp + 0xc], eax
call fcn.0049c4a0
mov eax, dword [esp + 0x38]
lea edx, [eax + 1]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x30]
jmp 0x49fc33
call fcn.00424660
ud2
cmp ebx, ebp
jmp 0x4a0240
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0049f7b0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
jmp 0x49fc33
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0049f5f0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
jmp 0x49fc33
call fcn.004246c0
ud2
mov eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
mov edx, dword [ebx]
mov ebp, dword [ebx + 8]
lea esi, [eax + 0xa]
mov dword [esp + 0x40], esi
cmp esi, ebp
ja 0x4a034b
mov dword [esp + 0x5c], edx
mov dword [esp + 0x44], ebp
cmp esi, ebp
ja 0x4a0344
add eax, edx
mov dword [esp], eax
lea eax, [0x64c674]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xa
call fcn.0044a7d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a032e
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov eax, dword [esp + 0x38]
jmp 0x49fc4f
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x6c]
jmp 0x4a0325
call fcn.004246c0
ud2
lea edi, [0x60ce40]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00437350
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x40]
jmp 0x4a02db
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x14], edx
call fcn.0049f510
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x6c]
jmp 0x49fbb9
mov dword [ebx + 0x34], 0
mov byte [ebx + 0x25], 1
jmp 0x49fba8
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov esi, dword [esp + 0x7c]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x80]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.0049f280
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x34], eax
mov byte [ebx + 0x25], cl
mov eax, dword [ebx + 0x34]
test eax, eax
jge 0x4a041f
mov dword [ebx + 0x34], 0
mov byte [ebx + 0x25], 0
movzx eax, byte [ebx + 0x25]
test al, al
je 0x4a0439
mov ebp, dword [esp + 0x30]
inc ebp
xor eax, eax
mov edx, ebp
mov ecx, dword [esp + 0x38]
jmp 0x49fbb1
mov eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
mov ecx, dword [ebx]
mov ebp, dword [ebx + 8]
lea esi, [eax + 0xb]
mov dword [esp + 0x40], esi
cmp esi, ebp
ja 0x4a04bf
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x44], ebp
cmp esi, ebp
ja 0x4a04b8
add eax, ecx
mov dword [esp], eax
lea eax, [0x64cb3b]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
call fcn.0044a7d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a04a2
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov edx, dword [esp + 0x38]
mov ebx, ecx
jmp 0x4a0427
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x6c]
jmp 0x4a049a
call fcn.004246c0
ud2
lea edi, [0x60ce40]
mov dword [esp], edi
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00437350
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x40]
jmp 0x4a0450
call fcn.00424660
ud2
mov ebp, dword [esp + 0x70]
jmp 0x49fb75
call fcn.00424660
ud2
mov edx, dword [esp + 0x78]
mov dword [esp], edx
mov esi, dword [esp + 0x7c]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x80]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
call fcn.0049f280
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x6c]
mov dword [ebx + 0x30], eax
mov byte [ebx + 0x24], cl
test cl, cl
je 0x4a0579
mov eax, dword [ebx + 0x30]
test eax, eax
jge 0x4a0567
neg eax
mov dword [ebx + 0x30], eax
mov byte [ebx + 0x26], 1
mov byte [ebx + 0x2a], 0
mov ebp, dword [esp + 0x30]
inc ebp
mov edx, ebp
xor eax, eax
mov ecx, dword [esp + 0x38]
jmp 0x49fadc
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 4]
mov dword [esp + 0x44], ecx
mov ebp, dword [ebx]
lea esi, [ecx + 0xc]
mov dword [esp + 0x40], esi
cmp esi, eax
ja 0x4a0602
mov dword [esp + 0x44], eax
mov dword [esp + 0x5c], ebp
cmp esi, eax
ja 0x4a05fb
add ecx, ebp
mov dword [esp], ecx
lea ecx, [0x64d06f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xc
call fcn.0044a7d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a05e5
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov edx, dword [esp + 0x38]
mov ebx, ecx
jmp 0x4a0553
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov ecx, dword [esp + 0x6c]
jmp 0x4a05da
call fcn.004246c0
ud2
lea edi, [0x60ce40]
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], esi
call fcn.00437350
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x6c]
mov esi, dword [esp + 0x40]
jmp 0x4a0590
call fcn.00424660
ud2
mov ebp, dword [esp + 0x70]
jmp 0x49fa9c
xchg esi, eax
cmp al, 0x23
xchg esi, eax
jne 0x4a065d
mov byte [eax + 0x28], 1
jmp 0x49fa34
lea edi, [esi - 0x61]
xchg edi, eax
cmp al, 0x19
xchg edi, eax
ja 0x4a06dd
mov edi, dword [esp + 0x7c]
cmp edx, edi
jge 0x49fa41
xchg esi, eax
cmp al, 0x76
xchg esi, eax
jne 0x4a06d9
movzx ebp, byte [eax + 0x28]
xchg ebp, ebx
mov byte [eax + 0x2c], bl
xchg ebp, ebx
mov byte [eax + 0x28], 0
movzx ebp, byte [eax + 0x27]
xchg ebp, ebx
mov byte [eax + 0x2b], bl
xchg ebp, ebx
mov byte [eax + 0x27], 0
cmp edx, edi
jae 0x4a06d2
shl edx, 3
mov edi, dword [esp + 0x78]
mov ebx, dword [edi + edx + 4]
mov edx, dword [edi + edx]
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp], eax
xchg esi, eax
movzx edx, al
xchg esi, eax
mov dword [esp + 0xc], edx
call fcn.0049c4a0
mov eax, dword [esp + 0x38]
inc eax
mov ecx, dword [esp + 0x30]
inc ecx
jmp 0x49fc35
call fcn.00424660
ud2
cmp edx, edi
jmp 0x4a069a
mov edi, dword [esp + 0x7c]
jmp 0x49fa41
xchg esi, eax
cmp al, 0x2b
xchg esi, eax
jne 0x4a06f6
mov byte [eax + 0x27], 1
jmp 0x49fa34
xchg esi, eax
cmp al, 0x2d
xchg esi, eax
jne 0x4a070a
mov byte [eax + 0x26], 1
mov byte [eax + 0x2a], 0
jmp 0x49fa34
xchg esi, eax
cmp al, 0x30
xchg esi, eax
jne 0x4a065d
movzx esi, byte [eax + 0x26]
xor esi, 1
xchg esi, ebx
mov byte [eax + 0x2a], bl
xchg esi, ebx
jmp 0x49fa34
call fcn.00424660
ud2
mov ecx, eax
mov eax, edx
jmp 0x49fc4f
cmp esi, ecx
ja 0x4a07fc
cmp ecx, ebx
ja 0x4a07fc
sub ecx, esi
mov dword [esp + 0x28], ecx
lea edx, [ecx - 1]
sar edx, 0x1f
xor edx, 0xffffffff
and esi, edx
lea edx, [esi + ebp]
mov dword [esp + 0x4c], edx
mov esi, dword [eax + 4]
mov dword [esp + 0x44], esi
lea ebp, [ecx + esi]
mov dword [esp + 0x40], ebp
mov ebx, dword [eax + 8]
mov edi, dword [eax]
cmp ebp, ebx
ja 0x4a0803
mov dword [esp + 0x5c], edi
mov dword [esp + 0x44], ebx
cmp ebp, ebx
ja 0x4a07fc
add esi, edi
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.0044a7d0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 8], eax
mov eax, dword [0x77c810]
test eax, eax
jne 0x4a07dc
mov eax, dword [esp + 0x5c]
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x74]
cmp eax, edx
mov ecx, eax
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x6c]
jmp 0x49f9e6
mov dword [esp], ecx
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
call fcn.0040d580
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x74]
cmp eax, edx
mov ecx, dword [esp + 0x6c]
jmp 0x4a07c5
call fcn.004246c0
ud2
lea eax, [0x60ce40]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.00437350
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
jmp 0x4a077b
mov dword [esp + 0x30], ecx
jmp 0x49f9dc
call fcn.00424660
ud2
call fcn.00448420
jmp fcn.0049f970