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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x8c]
cmp eax, dword [ecx + 8]
jbe 0x5b0512
sub esp, 0x10c
mov edx, dword [esp + 0x110]
mov ebx, dword [edx + 0xfc]
inc ebx
mov dword [esp + 0x48], ebx
mov ebp, dword [edx + 0x88]
mov dword [esp + 0x60], ebp
mov eax, ebx
mov ebx, dword [edx + 0x8c]
mov dword [esp + 0x5c], ebx
mov ecx, edx
mov edx, dword [edx + 0x84]
mov dword [esp + 0x9c], edx
mov esi, ebx
mov edi, ebp
xor ebx, ebx
mov dword [esp + 0x3c], ebx
xor ebp, ebp
mov dword [esp + 0x38], ebp
xor ebp, ebp
mov dword [esp + 0xa8], ebp
xor esi, esi
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
xor edi, edi
mov dword [esp + 0xa0], edi
xor edi, edi
mov dword [esp + 0x2c], edi
xor edi, edi
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0xac], edi
xor edi, edi
mov dword [esp + 0x44], edi
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0xa4], edi
xor edi, edi
mov dword [esp + 0x34], edi
xor edi, edi
mov dword [esp + 0x30], edi
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x60]
mov esi, ebx
mov edi, ebp
jmp 0x5af6be
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xac], ecx
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], edx
cmp dword [ecx + 0x64], 4
jge 0x5af70c
mov dword [esp], ecx
mov dword [esp + 4], 4
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5afa0a
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov edx, dword [ecx + 0x8c]
test edx, edx
jne 0x5af847
mov edx, dword [ecx + 0x58]
mov ebx, dword [ecx + 0x54]
mov ebp, dword [ecx + 0x5c]
mov dword [esp + 0x98], ebp
mov ebp, dword [ecx + 0x60]
cmp edx, ebp
jbe 0x5b0508
mov dword [esp + 0x94], ebp
mov dword [esp + 0xc0], ebx
movzx ebx, byte [ebx + ebp]
cmp bl, 0x2d
jne 0x5af79a
mov byte [esp + 0x27], bl
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x5b04ff
mov ebx, dword [esp + 0xc0]
lea ebx, [ebx + ebp + 1]
cmp byte [ebx], 0x2d
jne 0x5af795
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x5b04f6
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + ebp + 2]
cmp byte [ebp], 0x2d
je 0x5af7da
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0x94]
jmp 0x5af79a
movzx ebx, byte [esp + 0x27]
cmp bl, 0x2e
jne 0x5af83b
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x5b04ed
mov ebx, dword [esp + 0xc0]
lea ebx, [ebx + ebp + 1]
cmp byte [ebx], 0x2e
jne 0x5af82f
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x5b04e4
mov ebx, dword [esp + 0xc0]
lea ebp, [ebx + ebp + 2]
cmp byte [ebp], 0x2e
jne 0x5af823
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x94]
add eax, 3
mov dword [esp + 0xc], eax
call fcn.005b59a0
movzx eax, byte [esp + 0x10]
mov ecx, dword [esp + 0x110]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov edx, eax
mov eax, dword [esp + 0x48]
jmp 0x5af849
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
xor edx, edx
jmp 0x5af849
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
xor edx, edx
jmp 0x5af849
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
xor edx, edx
jmp 0x5af849
xor edx, edx
test dl, dl
jne 0x5afa00
mov edx, dword [ecx + 0x58]
mov ebx, dword [ecx + 0x54]
mov ebp, dword [ecx + 0x60]
cmp edx, ebp
jbe 0x5b04db
lea edx, [ebx + ebp]
cmp byte [edx], 0x23
je 0x5af9ee
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xa8]
mov ebp, dword [esp + 0x38]
jmp 0x5afaff
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5b04c3
movzx ebp, byte [ebx + eax]
xchg ebp, eax
cmp al, 0x20
xchg ebp, eax
je 0x5af972
xchg ebp, eax
cmp al, 9
xchg ebp, eax
je 0x5af972
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
je 0x5af972
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
je 0x5af972
xchg ebp, eax
cmp al, 0xc2
xchg ebp, eax
jne 0x5af8ee
mov esi, edx
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x5b04bc
lea edx, [ebx + eax + 1]
cmp byte [edx], 0x85
jne 0x5af8f0
mov edx, esi
jmp 0x5af972
mov esi, edx
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5b0001
lea edx, [eax + 1]
cmp ecx, edx
jbe 0x5b04b5
mov edi, edx
lea edx, [ebx + eax + 1]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5af93c
mov byte [esp + 0x26], dl
lea edx, [eax + 2]
cmp ecx, edx
jbe 0x5b04ae
lea edx, [ebx + eax + 2]
cmp byte [edx], 0xa8
jne 0x5af930
mov edx, esi
jmp 0x5af972
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
movzx edx, byte [esp + 0x26]
jmp 0x5af941
xchg ebp, eax
cmp al, 0xe2
xchg ebp, eax
jne 0x5b0001
cmp ecx, edi
jbe 0x5b04a7
cmp dl, 0x80
jne 0x5b0001
lea edx, [eax + 2]
cmp ecx, edx
jbe 0x5b04a0
lea edx, [ebx + eax + 2]
cmp byte [edx], 0xa9
jne 0x5b0001
mov edx, esi
cmp dword [edx + 0x64], 1
jge 0x5af99c
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5afff2
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0xac]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
jmp 0x5b002d
mov edx, dword [esp + 0x110]
mov ebx, dword [edx + 0xe0]
test ebx, ebx
jne 0x5af9e5
mov ebx, dword [esp + 0x48]
cmp dword [edx + 0x8c], ebx
jge 0x5af688
jmp 0x5b0390
mov ebx, dword [esp + 0x48]
jmp 0x5af688
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5afa19
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5afa19
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
lea edi, [esp + 0xc4]
lea esi, [0x675468]
call fcn.00463eec
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ebp
mov dword [esp + 0xdc], ebx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xec], eax
mov edi, dword [esp + 0x114]
test byte [edi], al
mov eax, dword [0x7e2780]
test eax, eax
jne 0x5afaa5
lea esi, [esp + 0xc4]
call fcn.00463eec
jmp 0x5afac2
lea eax, [0x60e1a0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xc4]
mov dword [esp + 8], eax
call fcn.004108d0
movzx eax, byte [esp + 0x23]
test al, al
je 0x5afad9
mov eax, dword [esp + 0x110]
mov byte [eax + 0x10c], 1
mov byte [esp + 0x118], 1
add esp, 0x10c
ret
mov ebx, eax
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], edi
mov ebp, ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0xa8], ebx
mov eax, dword [ecx + 0x54]
mov esi, dword [ecx + 0x58]
mov edi, dword [ecx + 0x5c]
mov edx, dword [ecx + 0x60]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], edx
call fcn.005b59a0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5af882
mov edx, dword [esp + 0x110]
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov ebp, dword [edx + 0x5c]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5b04d6
mov esi, ebp
lea ebp, [ebx + eax]
cmp byte [ebp], 0x3a
je 0x5afb65
xor eax, eax
jmp 0x5afb86
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
inc eax
mov dword [esp + 0xc], eax
call fcn.005b59a0
movzx eax, byte [esp + 0x10]
mov edx, dword [esp + 0x110]
test al, al
jne 0x5af889
mov ebx, dword [edx + 0xe0]
test ebx, ebx
jle 0x5afbe3
mov ecx, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov eax, dword [edx + 0x60]
cmp ecx, eax
jbe 0x5b04d1
movzx ebx, byte [ebx + eax]
cmp bl, 0x2c
je 0x5af889
cmp bl, 0x3f
je 0x5af889
cmp bl, 0x5b
je 0x5af889
cmp bl, 0x5d
je 0x5af889
cmp bl, 0x7b
je 0x5af889
cmp bl, 0x7d
je 0x5af889
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5afbf2
mov ebp, dword [esp + 0x28]
jmp 0x5afc06
mov ebp, dword [esp + 0x28]
test ebp, ebp
je 0x5aff09
test bl, bl
je 0x5afe65
mov ebx, dword [esp + 0x40]
test ebx, ebx
jbe 0x5b04c8
mov eax, dword [esp + 0xac]
cmp byte [eax], 0xa
jne 0x5afd35
mov ecx, dword [esp + 0x30]
test ecx, ecx
jne 0x5afc95
mov ecx, dword [esp + 0x38]
inc ecx
mov ebx, dword [esp + 0x3c]
cmp ebx, ecx
jb 0x5afc40
mov esi, dword [esp + 0xa8]
jmp 0x5afc8b
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f0f40]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0x28]
mov esi, ebx
mov ebx, edx
mov edx, dword [esp + 0x110]
mov byte [ecx + esi - 1], 0x20
jmp 0x5afe50
mov ebx, dword [esp + 0x38]
lea esi, [ecx + ebx]
mov edi, dword [esp + 0x3c]
cmp edi, esi
jae 0x5afce6
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
lea eax, [0x5f0f40]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xa8], ebx
mov edi, edx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0xa8]
lea edx, [eax + ebx]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00464180
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xa8]
jmp 0x5afe50
mov ecx, dword [esp + 0x38]
lea esi, [ebx + ecx]
mov edi, dword [esp + 0x3c]
cmp edi, esi
jae 0x5afd8d
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebx
lea eax, [0x5f0f40]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x38]
mov edi, edx
mov dword [esp + 0xa8], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x38], esi
mov edx, dword [esp + 0xa8]
add ecx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.00464180
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x3c]
cmp ebx, edx
jb 0x5afdca
mov ebp, dword [esp + 0xa8]
jmp 0x5afe07
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5f0f40]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa8], ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ebx
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464180
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x110]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xa8]
xor edi, edi
xor edi, edi
mov dword [esp + 0x40], edi
xor edi, edi
mov dword [esp + 0x30], edi
xor edi, edi
jmp 0x5aff1d
mov eax, dword [esp + 0x38]
lea ecx, [ebp + eax]
mov esi, dword [esp + 0x3c]
cmp esi, ecx
jb 0x5afe7e
mov edi, dword [esp + 0xa8]
jmp 0x5afebb
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
lea eax, [0x5f0f40]
mov dword [esp + 0x10], eax
call fcn.0044a320
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ebp, dword [esp + 0x28]
mov edi, ebx
mov esi, edx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0xa8], edi
add eax, edi
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00464180
mov eax, dword [esp + 0xac]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xa8]
movzx edi, byte [esp + 0x23]
xor ebp, ebp
jmp 0x5aff1d
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0xa8]
movzx edi, byte [esp + 0x23]
mov dword [esp + 0x28], ebp
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call fcn.005a5520
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x110]
mov ebp, dword [ebx + 0x88]
mov esi, dword [ebx + 0x8c]
mov edi, dword [ebx + 0x84]
cmp dword [ebx + 0x64], 2
jge 0x5afae8
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], ebp
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5affe3
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x110]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
jmp 0x5afae8
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov ecx, esi
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5afa19
mov byte [esp + 0x23], al
mov eax, ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x30], ebp
mov dword [esp + 0xa4], ebx
mov ebp, dword [edx + 0x58]
mov ebx, dword [edx + 0x54]
mov edx, dword [edx + 0x60]
cmp ebp, edx
jbe 0x5b0497
mov dword [esp + 0xb0], ebx
movzx ebx, byte [ebx + edx]
cmp bl, 0x20
je 0x5b0187
cmp bl, 9
je 0x5b0180
cmp bl, 0xd
je 0x5b0179
cmp bl, 0xa
je 0x5b0172
mov byte [esp + 0x27], bl
cmp bl, 0xc2
jne 0x5b00b0
lea ebx, [edx + 1]
cmp ebp, ebx
jbe 0x5b048e
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx + edx + 1]
cmp byte [ebx], 0x85
je 0x5b00a3
movzx ebx, byte [esp + 0x27]
jmp 0x5b00b0
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5b0189
cmp bl, 0xe2
jne 0x5af9bf
lea ebx, [edx + 1]
cmp ebp, ebx
jbe 0x5b0485
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx + edx + 1]
movzx ebx, byte [ebx]
mov byte [esp + 0x25], bl
cmp bl, 0x80
jne 0x5b0111
lea ebx, [edx + 2]
cmp ebp, ebx
jbe 0x5b047c
mov ebx, dword [esp + 0xb0]
lea ebx, [ebx + edx + 2]
cmp byte [ebx], 0xa8
je 0x5b0107
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
jmp 0x5b0126
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5b0189
mov dword [esp + 0x4c], edx
movzx edx, byte [esp + 0x27]
cmp dl, 0xe2
mov edx, dword [esp + 0x4c]
movzx ebx, byte [esp + 0x27]
jne 0x5af9bf
mov ebx, dword [esp + 0x98]
cmp ebp, ebx
jbe 0x5b0473
movzx ebx, byte [esp + 0x25]
cmp bl, 0x80
jne 0x5af9bf
lea ebx, [edx + 2]
cmp ebp, ebx
jbe 0x5b046a
mov ebx, dword [esp + 0xb0]
lea edx, [ebx + edx + 2]
cmp byte [edx], 0xa9
jne 0x5af9bf
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5b0189
cmp bl, 0x20
mov edx, ebx
jmp 0x5b0189
cmp bl, 0x20
mov edx, ebx
jmp 0x5b0189
cmp bl, 0x20
mov edx, ebx
jmp 0x5b0189
mov edx, ebx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x74], esi
mov dword [esp + 0xb8], ecx
je 0x5b01a7
cmp dl, 9
jne 0x5b0251
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5b01ed
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
cmp dword [ecx + 0x8c], ebp
jge 0x5b01d0
cmp dl, 9
je 0x5b03af
test bl, bl
jmp 0x5b01d2
test bl, bl
je 0x5b01f4
mov dword [esp], ecx
call fcn.005a5280
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0xa0]
jmp 0x5b0223
mov ecx, dword [esp + 0x110]
mov dword [esp], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
call fcn.005a5520
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], edx
mov edx, ecx
mov dword [esp + 0xa0], eax
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov ecx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x30]
movzx eax, byte [esp + 0x23]
jmp 0x5b031b
mov edx, dword [esp + 0x110]
cmp dword [edx + 0x64], 2
jge 0x5b0295
mov dword [esp], edx
mov dword [esp + 4], 2
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5b045b
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x110]
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
movzx ebx, byte [esp + 0x23]
test bl, bl
je 0x5b02ec
mov dword [esp], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.005a5780
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x74]
mov ecx, dword [esp + 0xb8]
mov dword [esp + 0xa4], ebx
mov ebx, eax
movzx eax, byte [esp + 0x23]
jmp 0x5b031b
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.005a5780
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, 1
xor edx, edx
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x110]
cmp dword [edx + 0x64], 1
jge 0x5b0020
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x64], edi
mov byte [esp + 0x24], al
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.005a2490
movzx eax, byte [esp + 8]
test al, al
je 0x5b044c
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x110]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x6c]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x64]
jmp 0x5b0020
mov ecx, edx
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x38]
jmp 0x5afa19
nop
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1d
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5b03d2
lea edx, [0x6269e5]
mov dword [ecx + 0x20], edx
jmp 0x5b03e0
lea edi, [ecx + 0x20]
lea eax, [0x6269e5]
call fcn.00463860
mov edx, dword [esp + 0x9c]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x60]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x5c]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x2f
mov edx, dword [0x7e2780]
test edx, edx
jne 0x5b0414
lea eax, [0x62c63f]
mov dword [ecx + 4], eax
jmp 0x5b0422
lea edi, [ecx + 4]
lea eax, [0x62c63f]
call fcn.00463860
mov eax, dword [ecx + 0x88]
mov edx, dword [ecx + 0x8c]
mov ebx, dword [ecx + 0x84]
mov dword [ecx + 0x14], ebx
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], edx
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov byte [esp + 0x118], 0
add esp, 0x10c
ret
mov eax, ebx
mov ecx, ebp
call fcn.004638e0
mov eax, ebx
mov ecx, ebp
call fcn.004638e0
mov eax, ebx
mov ecx, ebp
call fcn.004638e0
mov eax, ebx
mov ecx, ebp
call fcn.004638e0
mov eax, ebx
mov ecx, ebp
call fcn.004638e0
mov eax, edx
mov ecx, ebp
call fcn.004638e0
mov eax, edx
call fcn.004638e0
mov eax, edi
call fcn.004638e0
mov eax, edx
call fcn.004638e0
mov eax, edx
call fcn.004638e0
mov eax, edx
call fcn.004638e0
call fcn.004638e0
xor eax, eax
mov ecx, eax
call fcn.004638e0
call fcn.004638e0
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
mov eax, ebx
mov ecx, edx
call fcn.004638e0
mov eax, ebx
mov ecx, edx
call fcn.004638e0
mov eax, ebx
mov ecx, edx
call fcn.004638e0
mov eax, ebx
mov ecx, edx
call fcn.004638e0
mov eax, ebp
mov ecx, edx
call fcn.004638e0
nop
call fcn.00462450
jmp fcn.005af5c0