Function at 0x5a1f50
Capabilities:
Reference http user-agent string
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x99504c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x78]
cmp eax, dword [ecx + 8]
jbe 0x5a2fe2
sub esp, 0xf8
mov eax, dword [esp + 0x104]
test eax, eax
je 0x5a2a0f
mov ecx, eax
and eax, 0x1f
mov dword [esp + 0x4c], eax
nop
cmp eax, 0x14
jne 0x5a1fec
test ecx, 0x200
jne 0x5a1fa3
lea edx, [0x7b31a4]
mov ebx, dword [esp + 0xfc]
jmp 0x5a1fcd
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov edx, dword [esp + 0x100]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bcb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [edx + 0x6c]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 4]
test eax, eax
je 0x5a298b
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp eax, 0x17
jne 0x5a2002
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 4]
test ebx, ebx
sete bl
jmp 0x5a200b
mov edx, dword [esp + 0x100]
xor ebx, ebx
test bl, bl
je 0x5a206c
movzx ebx, byte [esp + 0x11d]
test bl, bl
je 0x5a206c
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x108]
test bl, bl
je 0x5a2222
mov ebx, dword [esp + 0x10c]
test ebx, ebx
je 0x5a2222
lea ebx, [eax - 2]
cmp ebx, 4
ja 0x5a2222
test ecx, 0x200
jne 0x5a20ae
lea ebx, [0x7b31a4]
mov ebp, dword [esp + 0xfc]
jmp 0x5a20d1
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bcb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004bd5c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004ba8b0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x10c]
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], ebp
call fcn.004bc4f0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004b52f0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a21d1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5a2222
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
movzx ebx, byte [esp + 0x108]
test bl, bl
je 0x5a2374
mov ebx, dword [esp + 0x10c]
test ebx, ebx
jne 0x5a2374
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x60], ecx
mov edx, dword [esp + 0x104]
test edx, 0x200
jne 0x5a228b
lea ebx, [0x7b31a4]
mov ebp, dword [esp + 0xfc]
jmp 0x5a22b5
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004bcb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.004bd4e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov dword [esp], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.004b52f0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a2323
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jmp 0x5a2374
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
test ecx, 0x200
jne 0x5a238b
lea ebx, [0x7b31a4]
mov ebp, dword [esp + 0xfc]
jmp 0x5a23c0
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bcb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x100]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
cmp dword [0x96eb58], ebx
je 0x5a23d0
test ecx, 0x200
jmp 0x5a2411
mov eax, dword [0x96eb5c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00404290
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5a278f
mov eax, dword [esp + 0x104]
test eax, 0x200
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x100]
jne 0x5a2422
lea ebx, [0x7b31a4]
mov ebp, dword [esp + 0xfc]
jmp 0x5a2445
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004bcb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0059e340
movzx eax, byte [esp + 0x11]
movzx ecx, byte [esp + 0x10]
test al, al
je 0x5a2692
movzx eax, byte [esp + 8]
test al, al
jne 0x5a2684
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x5a24e8
cmp edx, 0x17
je 0x5a24e8
lea eax, [0x74bd09]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], 0x2b
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], 0x2b
call fcn.00409d40
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7b145c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov byte [esp + 0x37], cl
mov ebx, dword [esp + 0x114]
test ebx, ebx
je 0x5a255e
cmp edx, 0x13
jne 0x5a2500
test ebx, ebx
jmp 0x5a2565
lea eax, [0x74d499]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], 0x2f
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov dword [esp + 4], 0x2f
call fcn.00409d40
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7b145c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
cmp edx, 0x13
jne 0x5a25ce
test ebx, ebx
jne 0x5a2e71
mov eax, dword [esp + 0x4c]
cmp eax, 0x18
jne 0x5a2582
mov edx, dword [esp + 0x100]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
jmp 0x5a25bf
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
call fcn.004bca90
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], ebp
xor esi, esi
jmp 0x5a2e7d
cmp edx, 0x17
jne 0x5a267d
cmp eax, 0x18
je 0x5a2664
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x104]
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0x9c]
xor eax, eax
call fcn.004690fb
mov eax, dword [esp + 0x68]
lea ecx, [0x737960]
cmp eax, ecx
jne 0x5a2e5b
lea edi, [esp + 0x9c]
call fcn.004695de
lea edi, [esp]
lea esi, [esp + 0x9c]
call fcn.004695de
call fcn.0059feb0
movzx eax, byte [esp + 0x14]
test al, al
je 0x5a266e
movzx ecx, byte [esp + 0x37]
mov eax, 0x18
jmp 0x5a2a86
movzx ecx, byte [esp + 0x37]
mov eax, 0x17
jmp 0x5a2a86
mov eax, edx
jmp 0x5a2a86
mov eax, dword [esp + 0x104]
test eax, 0x200
jmp 0x5a269e
mov eax, dword [esp + 0x104]
test eax, 0x200
jne 0x5a26af
lea eax, [0x7b31a4]
mov ecx, dword [esp + 0xfc]
jmp 0x5a26d5
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004bcb70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
test eax, eax
je 0x5a26f2
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
lea eax, [0x73fdcb]
mov dword [esp], eax
mov dword [esp + 4], 0x13
lea eax, [esp + 0x94]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004c4b20
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov ecx, dword [esp + 0x8c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00409d40
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7b145c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004bb0e0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x68], eax
mov esi, dword [esp + 0x14]
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.004690f7
mov eax, dword [esp + 0x68]
lea ecx, [0x71cec0]
cmp eax, ecx
jne 0x5a2a70
lea edi, [esp + 0xd4]
call fcn.004695b6
lea edi, [esp + 0xb0]
lea esi, [esp + 0xd4]
call fcn.004695b6
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x5a2938
lea eax, [0x713e60]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x5c], eax
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xc0]
movzx ebp, byte [esp + 0xb8]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
xchg ebp, eax
mov byte [esp + 0x18], al
xchg ebp, eax
call fcn.0059f450
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov edx, dword [esp + 0x5c]
mov dword [edx + 8], ecx
mov ebx, dword [0x995310]
test ebx, ebx
je 0x5a28b4
call fcn.00468e70
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov edx, dword [esp + 0x5c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x995310]
test ecx, ecx
je 0x5a2904
call fcn.00468e70
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
lea eax, [0x7b1ff8]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.004ba8b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea edi, [esp + 0xc]
lea esi, [esp + 0x108]
call fcn.004695d4
call fcn.005a1f50
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], ebx
add esp, 0xf8
ret
lea eax, [0x745d3a]
mov dword [esp], eax
mov dword [esp + 4], 0x1e
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call fcn.004c1f50
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], ecx
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6f55e0]
mov dword [esp + 8], eax
call fcn.004099d0
movzx edx, byte [esp + 0x11c]
test dl, dl
je 0x5a2af9
cmp eax, 0x10
jne 0x5a2a9e
mov eax, 0x11
jmp 0x5a2af9
lea eax, [0x7439ce]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x1a
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], 0x1a
call fcn.00409d40
mov eax, dword [esp + 8]
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7b145c]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov dword [esp + 0x3c], eax
cmp eax, 0x11
jne 0x5a2b0e
test dl, dl
jne 0x5a2b0e
mov byte [esp + 0x11c], 1
lea eax, [0x713e60]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
lea edi, [esp + 0xc]
lea esi, [esp + 0x108]
call fcn.004695d4
call fcn.005a0b30
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x58]
mov dword [esi + 0x10], eax
mov eax, dword [0x995310]
test eax, eax
je 0x5a2b8b
call fcn.00468e70
mov dword [edi], ecx
mov eax, dword [esi + 0x14]
mov dword [edi + 4], eax
mov dword [esi + 0x14], ecx
test edx, edx
jne 0x5a2e30
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 4]
test eax, eax
je 0x5a2d81
movzx edx, byte [esp + 0x10a]
test dl, dl
je 0x5a2bc7
mov edx, 1
jmp 0x5a2bdf
movzx edx, byte [esp + 0x10b]
test dl, dl
je 0x5a2bda
mov edx, 3
jmp 0x5a2bdf
mov edx, 2
movzx ebx, byte [esp + 0x109]
test bl, bl
jne 0x5a2bf2
mov eax, dword [eax]
jmp 0x5a2d87
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], 0
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
movzx edx, byte [esp + 0x37]
mov byte [esp + 0x18], dl
call fcn.0059f450
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ebx, dword [0x995310]
test ebx, ebx
je 0x5a2c77
call fcn.00468e70
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
lea eax, [0x713e60]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
lea ecx, [0x7b1ff8]
mov dword [eax + 0x10], ecx
mov edx, dword [0x995310]
test edx, edx
jne 0x5a2ca5
mov edx, dword [esp + 0x58]
jmp 0x5a2cb0
call fcn.00468e60
mov edx, dword [esp + 0x58]
mov dword [edi], edx
mov dword [esp + 0x54], eax
mov dword [eax + 0x14], edx
mov ecx, dword [edx + 8]
mov edx, dword [edx + 0xc]
mov ecx, dword [ecx + 0x14]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x54]
mov dword [esp], edx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
add eax, ecx
mov dword [esp + 0x14], eax
mov byte [esp + 0x18], 1
call fcn.0059f450
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov edx, dword [esp + 0x54]
mov dword [edx + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
je 0x5a2d4d
call fcn.00468e70
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x7b1ff8]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
xor edx, edx
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 8
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
movzx eax, byte [esp + 0x37]
mov byte [esp + 0x18], al
call fcn.0059f450
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409dc0
mov eax, dword [esp + 0xc]
lea ecx, [0x7b1fe0]
mov edx, dword [esp + 0x58]
mov dword [edx + 8], ecx
mov ecx, dword [0x995310]
test ecx, ecx
je 0x5a2dfc
call fcn.00468e70
mov dword [edi], eax
mov ecx, dword [edx + 0xc]
mov dword [edi + 4], ecx
mov dword [edx + 0xc], eax
lea eax, [0x7b1ff8]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0xf8
ret
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], ebx
mov dword [esp + 0x12c], ebp
add esp, 0xf8
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x6f55e0]
mov dword [esp + 8], eax
call fcn.004099d0
mov eax, ebx
jmp 0x5a2a86
movzx ecx, byte [esp + 0x37]
cmp esi, ebp
jge 0x5a2fd6
movzx edi, byte [ebx + esi]
cmp edi, 0x80
jge 0x5a2e94
inc esi
jmp 0x5a2ec4
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004600b0
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x4c]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x38]
cmp edi, 0x80
jge 0x5a2f2a
lea ecx, [edi - 0x61]
cmp cl, 0x19
jbe 0x5a2e78
lea ecx, [edi - 0x41]
cmp cl, 0x19
jbe 0x5a2e78
lea ecx, [edi - 0x30]
cmp cl, 9
jbe 0x5a2e78
lea ecx, [edi - 0x27]
cmp cl, 2
jbe 0x5a2e78
lea ecx, [edi - 0x2b]
cmp cl, 4
jbe 0x5a2e78
xchg edi, eax
cmp al, 0x20
xchg edi, eax
je 0x5a2e78
xchg edi, eax
cmp al, 0x3a
xchg edi, eax
je 0x5a2e78
xchg edi, eax
cmp al, 0x3d
xchg edi, eax
je 0x5a2e78
xchg edi, eax
cmp al, 0x3f
xchg edi, eax
je 0x5a2e78
cmp eax, 0x18
movzx ecx, byte [esp + 0x37]
jmp 0x5a2f2d
cmp eax, 0x18
jne 0x5a2f36
mov eax, dword [edx]
mov ebx, dword [edx + 4]
jmp 0x5a2f5c
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x104]
mov dword [esp + 8], ecx
call fcn.004bca90
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ebx
call fcn.00475610
movzx eax, byte [esp + 8]
test al, al
je 0x5a2f84
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x100]
mov eax, 0xc
jmp 0x5a2fdb
lea eax, [0x701240]
mov dword [esp], eax
call fcn.0040c500
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1c
lea ecx, [0x744b76]
mov dword [eax], ecx
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
lea ecx, [0x7b0bb8]
mov dword [esp + 0x128], ecx
mov dword [esp + 0x12c], eax
add esp, 0xf8
ret
mov eax, 0x13
mov ebx, eax
jmp 0x5a2e71
call fcn.00467a60
jmp fcn.005a1f50