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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x9c]
cmp eax, dword [ecx + 8]
jbe 0x5b3f4e
sub esp, 0x11c
lea eax, [0x632c40]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x63dbfe]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040fae0
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
test eax, eax
je 0x5b3222
mov dword [esp + 0x58], eax
lea ecx, [0x611bc0]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], eax
call fcn.00447550
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
lea ecx, [0x632c40]
mov dword [esp], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea ecx, [0x63dbfe]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040fae0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov dword [esp + 0x9c], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x58]
xor ebp, ebp
xor esi, esi
jmp 0x5b326b
lea eax, [0x816bf0]
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
add esp, 0x11c
ret
mov edi, dword [esp + 0x6c]
lea ebp, [edi + 1]
mov edi, dword [esp + 0x70]
mov ebx, dword [esp + 0x9c]
mov esi, ecx
mov ebx, eax
mov eax, edi
mov ecx, dword [esp + 0x9c]
cmp ebp, eax
jge 0x5b3446
lea edi, [ecx + ebp*8]
mov ecx, dword [edi]
mov dword [esp + 0x88], ecx
mov edi, dword [edi + 4]
mov dword [esp + 0x48], edi
nop
jmp 0x5b3479
mov eax, dword [esp + 0x70]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], esi
mov dword [esp + 0x8c], edx
jmp 0x5b34a2
nop
mov dword [esp], ecx
mov dword [esp + 4], edi
lea eax, [0x63c331]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call fcn.004be2b0
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
cmp ecx, 1
jne 0x5b32ff
mov edx, dword [edi + 4]
test edx, edx
jne 0x5b32ff
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
jmp 0x5b324c
test ecx, ecx
jbe 0x5b3f46
mov edx, dword [edi]
mov ebx, dword [edi + 4]
jmp 0x5b34d7
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], ecx
mov dword [edi + 4], ebx
mov ebp, dword [0x816df0]
test ebp, ebp
jne 0x5b332a
mov dword [edi], edx
jmp 0x5b3331
mov eax, edx
call fcn.0045e5d0
mov dword [esp], edx
mov dword [esp + 4], ebx
lea eax, [0x63c333]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004bff20
mov ecx, dword [esp + 0x10]
test ecx, ecx
jge 0x5b336b
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
jmp 0x5b324c
mov ebx, dword [esp + 0x74]
mov edx, dword [ebx + 4]
mov ebp, dword [ebx]
cmp edx, ecx
jb 0x5b3f41
lea eax, [ecx + 1]
cmp edx, eax
jb 0x5b3f3a
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x84], ebp
sub edx, ecx
lea esi, [edx - 1]
mov edi, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
add esi, ebp
test ecx, ecx
jne 0x5b33ae
xor eax, eax
jmp 0x5b33f9
mov dword [esp + 0x68], edi
mov dword [esp + 0x78], esi
mov dword [esp + 0x64], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
lea eax, [0x656460]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call fcn.004bf190
mov eax, dword [esp + 0x10]
test eax, eax
setl al
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x78]
mov edi, dword [esp + 0x68]
test al, al
je 0x5b3432
cmp edi, 1
jle 0x5b3429
cmp byte [esi], 0x22
jne 0x5b3425
mov eax, ebx
lea ebx, [edx + esi - 2]
cmp byte [ebx], 0x22
jne 0x5b342b
add edx, 0xfffffffd
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 1
add esi, edx
mov edi, ebx
jmp 0x5b342b
mov eax, ebx
jmp 0x5b342b
mov eax, ebx
xor edx, edx
jmp 0x5b3533
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
jmp 0x5b324c
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], ebx
add esp, 0x11c
ret
dec edi
mov eax, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
add ecx, edi
mov edi, eax
mov eax, dword [esp + 0x70]
test edi, edi
jle 0x5b3290
movzx eax, byte [ecx]
cmp al, 0x20
je 0x5b3462
cmp al, 9
je 0x5b3462
cmp al, 0xa
je 0x5b3462
cmp al, 0xd
je 0x5b3462
jmp 0x5b328c
dec edi
mov eax, dword [esp + 0x70]
test edi, edi
jle 0x5b32a8
movzx eax, byte [ecx + edi - 1]
cmp al, 0x20
je 0x5b349d
cmp al, 9
je 0x5b349d
cmp al, 0xa
je 0x5b349d
cmp al, 0xd
je 0x5b349d
jmp 0x5b32a8
dec ebx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add edx, ebx
mov ebx, ebp
test ebx, ebx
jle 0x5b34fd
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5b34c8
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5b34c8
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5b34c8
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5b34c8
jmp 0x5b34fd
dec ebx
test ebx, ebx
jle 0x5b3311
movzx ebp, byte [edx + ebx - 1]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5b34fc
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5b34fc
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5b34fc
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5b34fc
jmp 0x5b3311
inc edx
mov ebp, dword [esp + 0x84]
cmp edi, edx
jle 0x5b3579
jbe 0x5b3f31
movzx ebx, byte [esi + edx]
lea ebp, [ebx - 0x20]
xchg ebp, eax
cmp al, 0x5f
xchg ebp, eax
jae 0x5b3566
cmp bl, 0x22
je 0x5b3562
cmp bl, 0x3b
je 0x5b355e
cmp bl, 0x5c
jne 0x5b352b
cmp edi, edx
jmp 0x5b3568
cmp edi, edx
jmp 0x5b3568
cmp edi, edx
jmp 0x5b3568
cmp edi, edx
mov ebp, dword [esp + 0x84]
mov esi, 0
mov edi, 0
jle 0x5b358f
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x8c]
jmp 0x5b324c
mov dword [esp + 0x38], edi
mov dword [esp + 0x98], esi
lea eax, [0x62f7e0]
mov dword [esp], eax
call fcn.0040b5f0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x4c]
mov dword [eax + 4], ecx
mov ecx, dword [0x816df0]
test ecx, ecx
jne 0x5b35c8
mov edx, dword [esp + 0x84]
mov dword [eax], edx
jmp 0x5b35d8
mov edi, eax
mov eax, dword [esp + 0x84]
call fcn.0045e5d0
mov eax, edi
mov edx, dword [esp + 0x38]
mov dword [eax + 0xc], edx
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b35f5
mov edx, dword [esp + 0x98]
mov dword [eax + 8], edx
jmp 0x5b3608
lea edi, [eax + 8]
mov ecx, eax
mov eax, dword [esp + 0x98]
call fcn.0045e5d0
mov eax, ecx
mov edx, dword [esp + 0x48]
mov dword [eax + 0x4c], edx
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b3625
mov edx, dword [esp + 0x88]
mov dword [eax + 0x48], edx
jmp 0x5b3638
lea edi, [eax + 0x48]
mov ecx, eax
mov eax, dword [esp + 0x88]
call fcn.0045e5d0
mov eax, ecx
mov dword [esp + 0x90], eax
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0x34]
mov ebx, 1
jmp 0x5b3653
inc ebx
mov edx, dword [esp + 0x74]
cmp ebx, ecx
jge 0x5b3761
jae 0x5b3f2a
lea edi, [edx + ebx*8]
mov ebp, dword [edi]
mov esi, dword [edi + 4]
jmp 0x5b37f5
mov edx, dword [esp + 0x74]
jmp 0x5b381b
mov edx, dword [esp + 0x74]
lea edx, [edx + ebx*8 + 4]
mov dword [edx], esi
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b3691
mov dword [edi], ebp
test esi, esi
jmp 0x5b369e
mov edx, eax
mov eax, ebp
call fcn.0045e5d0
test esi, esi
mov eax, edx
je 0x5b364e
mov dword [esp + 0x50], ebx
mov dword [esp + 0x94], edi
mov dword [esp + 0x44], esi
mov dword [esp + 0x80], ebp
mov dword [esp], ebp
mov dword [esp + 4], esi
lea eax, [0x63c333]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
call fcn.004bff20
mov ecx, dword [esp + 0x10]
test ecx, ecx
jl 0x5b370a
mov edx, dword [esp + 0x44]
cmp edx, ecx
jb 0x5b3f25
lea eax, [ecx + 1]
cmp edx, eax
jb 0x5b3f1e
sub edx, ecx
dec edx
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, eax
mov eax, dword [esp + 0x80]
add edx, eax
jmp 0x5b3719
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x44]
xor ebx, ebx
xor edx, edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x7c], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0058ad60
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test al, al
je 0x5b374d
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x40]
xor eax, eax
jmp 0x5b3844
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x58]
cmp ebx, edx
jb 0x5b3779
mov ebp, dword [esp + 0x8c]
jmp 0x5b37ba
lea eax, [0x611bc0]
mov dword [esp], eax
mov ebp, dword [esp + 0x8c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004476d0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x54]
mov ebp, edx
mov edx, eax
mov eax, dword [esp + 0x90]
mov esi, dword [0x816df0]
lea edi, [ebp + ecx*4]
test esi, esi
jne 0x5b37ce
mov dword [ebp + ecx*4], eax
jmp 0x5b37d3
call fcn.0045e5d0
mov eax, ebx
mov ecx, edx
mov edx, ebp
jmp 0x5b324c
dec esi
mov edx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov esi, edx
mov edx, dword [esp + 0x74]
test esi, esi
jle 0x5b381b
movzx edx, byte [ebp]
cmp dl, 0x20
je 0x5b37de
cmp dl, 9
je 0x5b37de
cmp dl, 0xa
je 0x5b37de
cmp dl, 0xd
je 0x5b37de
jmp 0x5b366e
dec esi
mov edx, dword [esp + 0x74]
test esi, esi
jle 0x5b367b
movzx edx, byte [ebp + esi - 1]
cmp dl, 0x20
je 0x5b3816
cmp dl, 9
je 0x5b3816
cmp dl, 0xa
je 0x5b3816
cmp dl, 0xd
je 0x5b3816
jmp 0x5b3677
inc eax
mov edx, edi
cmp eax, ebp
jge 0x5b388b
jae 0x5b3f17
movzx esi, byte [ebx + eax]
mov edi, edx
lea edx, [esi - 0x20]
cmp dl, 0x5f
jae 0x5b387d
xchg esi, eax
cmp al, 0x22
xchg esi, eax
je 0x5b3879
xchg esi, eax
cmp al, 0x3b
xchg esi, eax
je 0x5b3875
xchg esi, eax
cmp al, 0x5c
xchg esi, eax
jne 0x5b3841
cmp eax, ebp
jmp 0x5b387f
cmp eax, ebp
jmp 0x5b387f
cmp eax, ebp
jmp 0x5b387f
cmp eax, ebp
mov ebx, 0
mov ebp, 0
jmp 0x5b388d
mov edi, edx
jge 0x5b395a
mov eax, dword [esp + 0x90]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, esi
jae 0x5b3924
mov dword [esp + 0x68], edx
mov dword [esp + 0x98], ebx
lea eax, [0x60d840]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004476d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [ebx + 0x58], edx
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b3908
mov dword [ebx + 0x50], eax
jmp 0x5b3910
lea edi, [ebx + 0x50]
call fcn.0045e5d0
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x98]
mov edi, eax
mov eax, dword [esp + 0x90]
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x816df0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x5b3942
mov dword [edi], ebx
jmp 0x5b394d
mov ecx, eax
mov eax, ebx
call fcn.0045e5d0
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp ecx, 6
jg 0x5b3a25
cmp ecx, 4
jne 0x5b39a8
cmp dword [edi], 0x68746170
jne 0x5b3e49
mov eax, dword [esp + 0x90]
mov dword [eax + 0x14], ebp
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b398d
mov dword [eax + 0x10], ebx
jmp 0x5b399b
lea edi, [eax + 0x10]
mov ecx, eax
mov eax, ebx
call fcn.0045e5d0
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp ecx, 6
jne 0x5b3e49
cmp dword [edi], 0x616d6f64
jne 0x5b39f5
cmp word [edi + 4], 0x6e69
jne 0x5b39f5
mov eax, dword [esp + 0x90]
mov dword [eax + 0x1c], ebp
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b39da
mov dword [eax + 0x18], ebx
jmp 0x5b39e8
lea edi, [eax + 0x18]
mov ecx, eax
mov eax, ebx
call fcn.0045e5d0
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp dword [edi], 0x75636573
jne 0x5b3e49
cmp word [edi + 4], 0x6572
jne 0x5b3e49
mov eax, dword [esp + 0x90]
mov byte [eax + 0x40], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp ecx, 7
jne 0x5b3d47
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x7c], ebx
cmp dword [edi], 0x69707865
jne 0x5b3cca
cmp word [edi + 4], 0x6572
jne 0x5b3cca
cmp byte [edi + 6], 0x73
jne 0x5b3cca
mov ecx, dword [esp + 0x90]
mov dword [ecx + 0x38], ebp
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b3a71
mov dword [ecx + 0x34], ebx
jmp 0x5b3a7b
lea edi, [ecx + 0x34]
mov eax, ebx
call fcn.0045e5d0
lea edi, [esp + 0x108]
xor eax, eax
call fcn.0045e87b
lea edi, [esp + 0xe0]
call fcn.0045e87b
mov ecx, dword [0x7e990c]
mov edx, dword [0x7e9908]
lea esi, [0x645db9]
mov dword [esp], esi
mov dword [esp + 4], 0x1d
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0049ad10
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x60], ecx
lea edi, [esp + 0xe0]
lea esi, [esp + 0x18]
call fcn.0045ed5e
lea edi, [esp + 0x108]
lea esi, [esp + 0xe0]
call fcn.0045ed5e
lea edi, [esp + 0xcc]
lea esi, [esp + 0x108]
call fcn.0045ed5e
mov ecx, dword [esp + 0x60]
test ecx, ecx
je 0x5b3be2
lea edi, [esp + 0xf4]
xor eax, eax
call fcn.0045e87b
lea edi, [esp + 0xe0]
call fcn.0045e87b
mov ecx, dword [0x7e990c]
mov edx, dword [0x7e9908]
lea ebx, [0x645dd6]
mov dword [esp], ebx
mov dword [esp + 4], 0x1d
mov ebp, dword [esp + 0x7c]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
call fcn.0049ad10
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0xe0]
lea esi, [esp + 0x18]
call fcn.0045ed5e
lea edi, [esp + 0xf4]
lea esi, [esp + 0xe0]
call fcn.0045ed5e
lea edi, [esp + 0xcc]
lea esi, [esp + 0xf4]
call fcn.0045ed5e
mov ecx, dword [esp + 0x5c]
test ecx, ecx
je 0x5b3be2
mov ecx, dword [esp + 0x90]
lea edi, [ecx + 0x20]
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b3bcb
xor eax, eax
call fcn.0045e87b
jmp 0x5b3e49
lea eax, [0x639de0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00410dd0
jmp 0x5b3e49
lea edi, [esp + 0xb8]
lea esi, [esp + 0xcc]
call fcn.0045ed5e
nop
nop
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
test edx, 0x80000000
je 0x5b3c59
shl edx, 1
mov ebx, ecx
shr ecx, 0x1f
or ecx, edx
shl ebx, 1
mov edx, ecx
shl ecx, 1
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
add ebx, 0xd7b17f80
mov dword [esp + 0xc0], ebx
shr edx, 0x1f
add ecx, 0xd7b17f80
adc edx, 0xd
mov dword [esp + 0xc4], edx
and dword [esp + 0xb8], 0x3fffffff
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc8], 0
lea edi, [esp + 0xa4]
lea esi, [esp + 0xb8]
call fcn.0045ed5e
mov eax, dword [esp + 0x90]
lea edi, [eax + 0x20]
mov ecx, dword [0x816df0]
test ecx, ecx
jne 0x5b3c99
lea esi, [esp + 0xa4]
call fcn.0045ed5e
jmp 0x5b3cbd
lea eax, [0x639de0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.00410bf0
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp dword [edi], 0x2d78616d
jne 0x5b3e49
cmp word [edi + 4], 0x6761
jne 0x5b3e49
cmp byte [edi + 6], 0x65
jne 0x5b3e49
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.00466360
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test ecx, ecx
jne 0x5b3e49
test eax, eax
je 0x5b3d29
mov ecx, dword [esp + 0x3c]
test ecx, ecx
jbe 0x5b3f10
mov edx, dword [esp + 0x7c]
cmp byte [edx], 0x30
je 0x5b3e49
test eax, eax
jg 0x5b3d2e
mov eax, 0xffffffff
mov edx, dword [esp + 0x90]
mov dword [edx + 0x3c], eax
mov eax, edx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp ecx, 8
jne 0x5b3e49
cmp dword [edi], 0x70747468
jne 0x5b3d79
cmp dword [edi + 4], 0x796c6e6f
jne 0x5b3d79
mov eax, dword [esp + 0x90]
mov byte [eax + 0x41], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
cmp dword [edi], 0x656d6173
jne 0x5b3e49
cmp dword [edi + 4], 0x65746973
jne 0x5b3e49
mov dword [esp], ebx
mov dword [esp + 4], ebp
call fcn.0058ad60
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test al, al
je 0x5b3e2e
cmp ecx, 3
jne 0x5b3dd1
cmp word [edx], 0x616c
jne 0x5b3e13
cmp byte [edx + 2], 0x78
jne 0x5b3e13
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 2
jmp 0x5b3e21
cmp ecx, 4
jne 0x5b3dee
cmp dword [edx], 0x656e6f6e
jne 0x5b3e13
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 4
jmp 0x5b3e21
cmp ecx, 6
jne 0x5b3e13
cmp dword [edx], 0x69727473
jne 0x5b3e13
cmp word [edx + 4], 0x7463
jne 0x5b3e13
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 3
jmp 0x5b3e21
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
mov eax, dword [esp + 0x90]
mov dword [eax + 0x44], 1
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
mov eax, dword [esp + 0x90]
mov edx, dword [eax + 0x54]
mov ebx, dword [eax + 0x50]
mov ebp, dword [eax + 0x58]
lea esi, [edx + 1]
mov ecx, edx
mov edx, dword [esp + 0x94]
mov edi, ebx
mov ebx, dword [edx]
mov edx, dword [edx + 4]
cmp ebp, esi
jae 0x5b3eda
mov dword [esp + 0x68], edx
mov dword [esp + 0x98], ebx
lea eax, [0x60d840]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004476d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x90]
mov dword [ebx + 0x58], edx
mov edx, dword [0x816df0]
test edx, edx
jne 0x5b3ebe
mov dword [ebx + 0x50], eax
jmp 0x5b3ec6
lea edi, [ebx + 0x50]
call fcn.0045e5d0
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x98]
mov edi, eax
mov eax, dword [esp + 0x90]
lea ebp, [ecx + 1]
mov dword [eax + 0x54], ebp
lea ebp, [edi + ecx*8 + 4]
mov dword [ebp], edx
mov edx, dword [0x816df0]
lea edi, [edi + ecx*8]
test edx, edx
jne 0x5b3ef8
mov dword [edi], ebx
jmp 0x5b3f03
mov ecx, eax
mov eax, ebx
call fcn.0045e5d0
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x5b364e
xor eax, eax
call fcn.0045e650
mov ecx, ebp
call fcn.0045e650
mov ecx, edx
call fcn.0045e6b0
call fcn.0045e670
mov eax, ebx
call fcn.0045e650
mov eax, edx
mov ecx, edi
call fcn.0045e650
mov ecx, edx
call fcn.0045e6b0
call fcn.0045e670
xor eax, eax
call fcn.0045e650
nop
call fcn.0045d190
jmp fcn.005b3150