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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x60]
cmp eax, dword [ecx + 8]
jbe 0x5a96e5
sub esp, 0xe0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x84]
mov dword [esp + 0x78], ecx
mov edx, dword [eax + 0x88]
mov dword [esp + 0x74], edx
mov ebx, dword [eax + 0x8c]
mov dword [esp + 0x70], ebx
mov dword [esp], eax
call fcn.0059f3b0
mov eax, dword [esp + 0xe4]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x88], ecx
xor edx, edx
mov dword [esp + 0x80], edx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
mov dword [esp + 0x84], edx
xor ecx, ecx
xor edx, edx
jmp 0x5a7639
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov edi, ebp
mov dword [esp + 0x3c], edx
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xe4]
mov edx, esi
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x34], ebp
mov dword [esp + 0x28], esi
mov dword [esp + 0x40], edi
cmp dword [eax + 0x64], 4
jge 0x5a7693
mov dword [esp], eax
mov dword [esp + 4], 4
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a7d42
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
mov edx, dword [eax + 0x8c]
test edx, edx
jne 0x5a77a2
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x5c]
mov esi, dword [eax + 0x60]
cmp edx, esi
jbe 0x5a96db
mov dword [esp + 0x6c], ebp
movzx ebp, byte [ebx + esi]
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x5a7700
xchg ebp, eax
mov byte [esp + 0x27], al
xchg ebp, eax
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5a96d2
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2d
jne 0x5a76fb
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5a96c9
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2d
je 0x5a7743
movzx ebp, byte [esp + 0x27]
jmp 0x5a7700
movzx ebp, byte [esp + 0x27]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
jne 0x5a7796
lea ebp, [esi + 1]
cmp edx, ebp
jbe 0x5a96c0
lea ebp, [ebx + esi + 1]
cmp byte [ebp], 0x2e
jne 0x5a7788
lea ebp, [esi + 2]
cmp edx, ebp
jbe 0x5a96b7
lea ebp, [ebx + esi + 2]
cmp byte [ebp], 0x2e
je 0x5a7743
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5a77a2
mov dword [esp], ebx
mov dword [esp + 4], edx
mov eax, dword [esp + 0x6c]
mov dword [esp + 8], eax
lea eax, [esi + 3]
mov dword [esp + 0xc], eax
call fcn.005afad0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a7bff
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x40]
jmp 0x5a77a2
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
jmp 0x5a77a2
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edx, dword [eax + 0x58]
mov ebx, dword [eax + 0x54]
mov ebp, dword [eax + 0x60]
cmp edx, ebp
jbe 0x5a96ae
movzx edx, byte [ebx + ebp]
test dl, dl
je 0x5a7ca0
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x3c]
jmp 0x5a7d5e
xor eax, eax
jmp 0x5a7851
movzx edx, byte [esp + 0xec]
jmp 0x5a77e5
movzx edx, byte [esp + 0xec]
cmp dword [edi + 0x64], 3
jge 0x5a780f
mov dword [esp], edi
mov dword [esp + 4], 3
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a8ae5
mov edi, dword [esp + 0xe4]
mov dword [esp], edi
call fcn.0059f3b0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.0059f470
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov eax, 1
jmp 0x5a7851
xor eax, eax
jmp 0x5a7851
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
xor eax, eax
cmp dword [edi + 0x64], 1
jge 0x5a788c
mov byte [esp + 0x22], al
mov dword [esp], edi
mov dword [esp + 4], 1
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a8cac
movzx eax, byte [esp + 0x22]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
test dl, dl
je 0x5a78ad
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5a904c
add ebx, ebp
cmp byte [ebx], 0x27
jne 0x5a78c9
jmp 0x5a8ba9
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp ecx, ebp
jbe 0x5a9045
add ebx, ebp
cmp byte [ebx], 0x22
je 0x5a8ba9
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
mov esi, dword [esp + 0x7c]
jmp 0x5a8ce5
test al, al
je 0x5a7b49
mov edx, dword [esp + 0x44]
test edx, edx
je 0x5a7a18
mov ebx, dword [esp + 0x88]
cmp byte [ebx], 0xa
jne 0x5a7a1f
mov edx, dword [esp + 0x34]
test edx, edx
jne 0x5a7979
mov edx, dword [esp + 0x3c]
inc edx
mov ebp, dword [esp + 0x40]
cmp ebp, edx
jb 0x5a7920
mov eax, dword [esp + 0x84]
jmp 0x5a796f
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov ebp, edi
mov edi, dword [esp + 0xe4]
mov esi, edx
mov edx, eax
mov eax, esi
mov byte [edx + eax - 1], 0x20
jmp 0x5a7b3a
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5a79ca
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x84], edx
mov esi, edi
mov edx, dword [esp + 0x34]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], esi
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.00464050
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x84]
jmp 0x5a7b3a
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x3c]
lea ebp, [eax + edx]
mov esi, dword [esp + 0x40]
cmp esi, ebp
jae 0x5a7a77
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x88]
mov esi, edi
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], ebp
mov ecx, dword [esp + 0x84]
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00464050
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
lea edx, [ecx + eax]
mov ebx, dword [esp + 0x40]
cmp ebx, edx
jb 0x5a7ab4
mov ebp, dword [esp + 0x84]
jmp 0x5a7af1
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov ebp, eax
mov ebx, esi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x84], ebp
add eax, ebp
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00464050
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
xor esi, esi
xor esi, esi
mov dword [esp + 0x34], esi
xor esi, esi
jmp 0x5a7613
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x3c]
lea ebx, [edx + eax]
mov ebp, dword [esp + 0x40]
cmp ebp, ebx
jb 0x5a7b65
mov esi, dword [esp + 0x84]
jmp 0x5a7ba2
mov ecx, dword [esp + 0x84]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5e2160]
mov dword [esp + 0x10], ecx
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov esi, edx
mov ebp, edi
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x84], esi
lea ecx, [esi + edx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00464050
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x88]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
mov esi, dword [esp + 0x44]
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x84]
jmp 0x5a7613
nop
mov ecx, dword [esp + 0xe4]
mov dword [ecx], 3
mov dword [ecx + 0x24], 0x1e
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5a7c29
lea edx, [0x616698]
mov dword [ecx + 0x20], edx
jmp 0x5a7c37
lea edi, [ecx + 0x20]
lea eax, [0x616698]
call fcn.00463730
mov edx, dword [esp + 0x78]
mov dword [ecx + 0x28], edx
mov edx, dword [esp + 0x74]
mov dword [ecx + 0x2c], edx
mov edx, dword [esp + 0x70]
mov dword [ecx + 0x30], edx
mov dword [ecx + 8], 0x23
mov edx, dword [0x7c78f0]
test edx, edx
jne 0x5a7c68
lea eax, [0x618313]
mov dword [ecx + 4], eax
jmp 0x5a7c76
lea edi, [ecx + 4]
lea eax, [0x618313]
call fcn.00463730
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 + 0xf0], 0
add esp, 0xe0
ret
nop
mov dword [eax], 3
mov dword [eax + 0x24], 0x1e
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a7cc3
lea ecx, [0x616698]
mov dword [eax + 0x20], ecx
jmp 0x5a7cd5
lea edi, [eax + 0x20]
mov ecx, eax
lea eax, [0x616698]
call fcn.00463730
mov eax, ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x30], ecx
mov dword [eax + 8], 0x1e
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a7d06
lea ecx, [0x61627e]
mov dword [eax + 4], ecx
jmp 0x5a7d18
lea edi, [eax + 4]
mov ecx, eax
lea eax, [0x61627e]
call fcn.00463730
mov eax, ecx
mov ecx, dword [eax + 0x88]
mov edx, dword [eax + 0x8c]
mov ebx, dword [eax + 0x84]
mov dword [eax + 0x14], ebx
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], edx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov edi, edx
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x84], edx
mov ecx, dword [eax + 0x54]
mov ebp, dword [eax + 0x58]
mov esi, dword [eax + 0x5c]
mov edi, dword [eax + 0x60]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
call fcn.005afad0
movzx eax, byte [esp + 0x10]
test al, al
jne 0x5a7840
movzx edx, byte [esp + 0xec]
test dl, dl
je 0x5a7ea7
mov ebx, dword [esp + 0xe4]
mov ecx, dword [ebx + 0x58]
mov ebp, dword [ebx + 0x54]
mov eax, dword [ebx + 0x60]
cmp ecx, eax
jbe 0x5a96a9
lea esi, [eax + ebp]
movzx esi, byte [esi]
xchg esi, eax
cmp al, 0x27
xchg esi, eax
jne 0x5a7e85
mov edi, ebx
lea ebx, [eax + 1]
cmp ecx, ebx
jbe 0x5a96a2
lea ebx, [ebp + eax + 1]
cmp byte [ebx], 0x27
je 0x5a7df0
test dl, dl
jmp 0x5a7e89
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a7e06
mov ebx, dword [esp + 0x84]
jmp 0x5a7e46
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov byte [eax + ebx - 1], 0x27
mov dword [esp], edi
call fcn.0059f3b0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.0059f3b0
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x84]
jmp 0x5a8a8d
test dl, dl
mov edi, ebx
je 0x5a7eae
cmp ecx, eax
jbe 0x5a969d
xchg esi, eax
cmp al, 0x27
xchg esi, eax
je 0x5a77cf
test dl, dl
je 0x5a7eae
jmp 0x5a8a5e
mov edi, dword [esp + 0xe4]
mov ecx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov eax, dword [edi + 0x60]
cmp ecx, eax
jbe 0x5a9698
lea ebp, [eax + ebx]
cmp byte [ebp], 0x22
je 0x5a783c
test dl, dl
jne 0x5a8a5e
cmp ecx, eax
jbe 0x5a9693
movzx ebp, byte [ebp]
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5a7fe9
lea esi, [eax + 1]
cmp ecx, esi
jbe 0x5a968c
movzx esi, byte [eax + ebx + 1]
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5a77e5
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5a77e5
xchg ebp, eax
mov byte [esp + 0x26], al
xchg ebp, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5a7f3c
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5a9685
lea ebp, [eax + ebx + 2]
cmp byte [ebp], 0x85
je 0x5a77e5
movzx ebp, byte [esp + 0x26]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5a7fe5
lea ebp, [eax + 2]
cmp ecx, ebp
jbe 0x5a967e
lea edx, [eax + ebx + 2]
movzx edx, byte [edx]
cmp dl, 0x80
jne 0x5a7f86
mov byte [esp + 0x25], dl
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5a9677
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa8
je 0x5a77d3
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
movzx edx, byte [esp + 0x25]
jmp 0x5a7f8b
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5a7fd4
cmp ecx, ebp
jbe 0x5a9670
cmp dl, 0x80
jne 0x5a7fc3
lea edx, [eax + 3]
cmp ecx, edx
jbe 0x5a9669
lea edx, [eax + ebx + 3]
cmp byte [edx], 0xa9
je 0x5a77dd
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5a7feb
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5a7feb
movzx edx, byte [esp + 0xec]
test dl, dl
movzx ebp, byte [esp + 0x26]
jmp 0x5a7feb
test dl, dl
jmp 0x5a7feb
test dl, dl
jne 0x5a8a5e
cmp ecx, eax
jbe 0x5a9664
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5a8a5e
lea ebp, [eax + 1]
cmp ecx, ebp
jbe 0x5a965d
movzx ecx, byte [eax + ebx + 1]
cmp cl, 0x5c
ja 0x5a854e
cmp cl, 0x30
ja 0x5a81f8
cmp cl, 0x20
ja 0x5a80a7
cmp cl, 9
je 0x5a88ce
cmp cl, 0x20
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8053
mov ebx, dword [esp + 0x84]
jmp 0x5a809b
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x20
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x22
jne 0x5a8116
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a80c2
mov ebx, dword [esp + 0x84]
jmp 0x5a810a
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x22
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x27
jne 0x5a8185
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8131
mov ebx, dword [esp + 0x84]
jmp 0x5a8179
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x27
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x30
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a81a4
mov ebx, dword [esp + 0x84]
jmp 0x5a81ec
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x4e
ja 0x5a83bc
cmp cl, 0x4c
jne 0x5a8302
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8220
mov ebx, dword [esp + 0x84]
jmp 0x5a8268
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x5a82af
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], pe_nt_image_headers32
inc eax
cmp ecx, eax
jae 0x5a82f6
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa8
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x4e
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8321
mov ebx, dword [esp + 0x84]
jmp 0x5a8369
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x5a83b0
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x85
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x50
jne 0x5a84bd
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a83db
mov ebx, dword [esp + 0x84]
jmp 0x5a8423
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xe2
inc eax
cmp ecx, eax
jae 0x5a846a
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], pe_nt_image_headers32
inc eax
cmp ecx, eax
jae 0x5a84b1
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa9
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x55
jne 0x5a84db
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 8
jmp 0x5a89df
cmp cl, 0x5c
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a84fa
mov ebx, dword [esp + 0x84]
jmp 0x5a8542
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x5c
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x66
ja 0x5a87de
cmp cl, 0x61
ja 0x5a868d
cmp cl, 0x5f
jne 0x5a861a
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a857f
mov ebx, dword [esp + 0x84]
jmp 0x5a85c7
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, edi
mov ebx, edx
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xc2
inc eax
cmp ecx, eax
jae 0x5a860e
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa0
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x61
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8639
mov ebx, dword [esp + 0x84]
jmp 0x5a8681
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 7
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x62
jne 0x5a86fc
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a86a8
mov ebx, dword [esp + 0x84]
jmp 0x5a86f0
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 8
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x65
jne 0x5a876b
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8717
mov ebx, dword [esp + 0x84]
jmp 0x5a875f
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0x1b
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x66
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a878a
mov ebx, dword [esp + 0x84]
jmp 0x5a87d2
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xc
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x74
ja 0x5a8938
cmp cl, 0x6e
jne 0x5a8856
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8802
mov ebx, dword [esp + 0x84]
jmp 0x5a884a
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xa
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x72
jne 0x5a88c5
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8871
mov ebx, dword [esp + 0x84]
jmp 0x5a88b9
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xd
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x74
jne 0x5a8b03
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a88e4
mov ebx, dword [esp + 0x84]
jmp 0x5a892c
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 9
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x75
jne 0x5a8956
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 4
jmp 0x5a89df
cmp cl, 0x76
jne 0x5a89c2
mov eax, dword [esp + 0x3c]
inc eax
mov ecx, dword [esp + 0x40]
cmp ecx, eax
jb 0x5a8971
mov ebx, dword [esp + 0x84]
jmp 0x5a89b9
mov edx, dword [esp + 0x84]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, edx
mov ecx, edi
movzx edx, byte [esp + 0xec]
mov edi, dword [esp + 0xe4]
mov byte [eax + ebx - 1], 0xb
xor ebp, ebp
jmp 0x5a89df
cmp cl, 0x78
jne 0x5a8b03
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, 2
mov dword [esp + 0x3c], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x50], ebp
mov dword [esp], edi
call fcn.0059f3b0
mov eax, dword [esp + 0xe4]
mov dword [esp], eax
call fcn.0059f3b0
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x5a8a4a
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], eax
jge 0x5a8a41
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a8af4
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
xor ecx, ecx
xor ebx, ebx
jmp 0x5a9075
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x84]
jmp 0x5a9062
mov dword [esp], edi
mov eax, dword [esp + 0x84]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
call fcn.0059f650
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xe4]
cmp dword [ebx + 0x64], 2
jge 0x5a7d51
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x90], eax
mov dword [esp], ebx
mov dword [esp + 4], 2
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a9053
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xe4]
jmp 0x5a7d51
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a8b26
lea ecx, [0x615e2b]
mov dword [edi + 0x20], ecx
jmp 0x5a8b3a
lea ecx, [edi + 0x20]
lea eax, [0x615e2b]
mov edx, edi
mov edi, ecx
call fcn.00463730
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x1e
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a8b6b
lea eax, [0x61629c]
mov dword [edi + 4], eax
jmp 0x5a8b7f
lea ecx, [edi + 4]
lea eax, [0x61629c]
mov edx, edi
mov edi, ecx
call fcn.00463730
mov edi, edx
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, dword [edi + 0x84]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov dword [esp], edi
call fcn.0059f3b0
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x88]
mov dword [esp + 0x6c], ecx
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x84]
lea edi, [esp + 0x98]
lea esi, [0x662900]
call fcn.00463dbc
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x84]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc0], eax
mov edi, dword [esp + 0xe8]
test byte [edi], al
mov eax, dword [0x7c78f0]
test eax, eax
jne 0x5a8c69
lea esi, [esp + 0x98]
call fcn.00463dbc
movzx eax, byte [esp + 0xec]
test al, al
jmp 0x5a8c90
lea eax, [0x5fe3c0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x98]
mov dword [esp + 8], eax
call fcn.00410860
movzx eax, byte [esp + 0xec]
test al, al
jne 0x5a8c9d
mov eax, dword [esp + 0xe8]
mov byte [eax + 0x44], 8
mov byte [esp + 0xf0], 1
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
movzx edx, byte [esp + 0xec]
mov dword [esp + 0x34], edi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
mov eax, ebx
mov ebx, esi
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x38], ebx
mov edx, dword [edi + 0x58]
mov ebx, dword [edi + 0x54]
mov ebp, dword [edi + 0x60]
cmp edx, ebp
jbe 0x5a903c
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x7c], esi
movzx esi, byte [ebx + ebp]
xchg esi, eax
cmp al, 0x20
xchg esi, eax
je 0x5a8e3d
xchg esi, eax
cmp al, 9
xchg esi, eax
je 0x5a8e34
xchg esi, eax
cmp al, 0xd
xchg esi, eax
je 0x5a8e2b
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x5a8e22
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
xchg esi, eax
cmp al, 0xc2
xchg esi, eax
jne 0x5a8d6b
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5a9033
lea esi, [ebx + ebp + 1]
cmp byte [esi], 0x85
je 0x5a8d5e
movzx esi, byte [esp + 0x27]
jmp 0x5a8d6b
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5a8e3f
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jne 0x5a78de
lea esi, [ebp + 1]
cmp edx, esi
jbe 0x5a902a
mov dword [esp + 0x6c], esi
lea esi, [ebx + ebp + 1]
movzx esi, byte [esi]
xchg esi, eax
mov byte [esp + 0x25], al
xchg esi, eax
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5a8dc3
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5a9021
lea esi, [ebx + ebp + 2]
cmp byte [esi], 0xa8
je 0x5a8db9
movzx esi, byte [esp + 0x27]
xchg esi, eax
cmp al, 0xe2
xchg esi, eax
jmp 0x5a8dde
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5a8e3f
mov dword [esp + 0x8c], ebx
movzx ebx, byte [esp + 0x27]
cmp bl, 0xe2
mov ebx, dword [esp + 0x8c]
movzx esi, byte [esp + 0x27]
jne 0x5a78de
mov esi, dword [esp + 0x6c]
cmp edx, esi
jbe 0x5a9018
movzx esi, byte [esp + 0x25]
xchg esi, eax
cmp al, 0x80
xchg esi, eax
jne 0x5a78de
lea esi, [ebp + 2]
cmp edx, esi
jbe 0x5a900f
lea edx, [ebx + ebp + 2]
cmp byte [edx], 0xa9
jne 0x5a78de
movzx edx, byte [esp + 0x27]
cmp dl, 0x20
jmp 0x5a8e3f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5a8e3f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5a8e3f
xchg esi, eax
cmp al, 0x20
xchg esi, eax
mov edx, esi
jmp 0x5a8e3f
mov edx, esi
mov byte [esp + 0x24], al
je 0x5a8e4a
cmp dl, 9
jne 0x5a8eb7
test al, al
je 0x5a8e64
mov dword [esp], edi
call fcn.0059f3b0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x7c]
jmp 0x5a8e8c
mov dword [esp], edi
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.0059f650
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x2c], ecx
mov edx, eax
movzx ebx, byte [esp + 0x24]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x7c], esi
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x38]
jmp 0x5a8f80
cmp dword [edi + 0x64], 2
jge 0x5a8eea
mov dword [esp], edi
mov dword [esp + 4], 2
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a9000
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0xe4]
test al, al
je 0x5a8f42
mov dword [esp], edi
mov eax, dword [esp + 0x80]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
call fcn.0059f8b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x28]
mov esi, ebx
mov edi, ecx
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x44]
movzx ebx, byte [esp + 0x24]
mov eax, dword [esp + 0x88]
jmp 0x5a8f80
mov dword [esp], edi
mov eax, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
call fcn.0059f8b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
xor edx, edx
mov ebx, 1
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0xe4]
cmp dword [edx + 0x64], 1
jge 0x5a8cbb
mov dword [esp + 0x68], ecx
mov dword [esp + 0x94], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], esi
mov dword [esp + 0x5c], edi
mov byte [esp + 0x23], bl
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.0059c5c0
movzx eax, byte [esp + 8]
test al, al
je 0x5a8ff1
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0xe4]
movzx ebx, byte [esp + 0x23]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x5c]
jmp 0x5a8cbb
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, ebp
call fcn.004637b0
mov eax, ebp
call fcn.004637b0
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov ebx, edx
mov edx, eax
mov eax, ebx
jmp 0x5a8a8d
inc ecx
shl ebx, 4
add ebx, edx
mov edx, edi
cmp ecx, eax
jge 0x5a9186
mov ebp, dword [edx + 0x58]
mov esi, dword [edx + 0x54]
mov edi, edx
mov edx, dword [edx + 0x60]
add edx, ecx
cmp ebp, edx
jbe 0x5a9654
movzx edx, byte [edx + esi]
cmp dl, 0x30
jb 0x5a90e0
cmp dl, 0x39
jbe 0x5a90b4
cmp dl, 0x41
jb 0x5a90e0
cmp dl, 0x46
jbe 0x5a90b4
cmp dl, 0x61
jb 0x5a90e0
cmp dl, 0x66
ja 0x5a90e0
lea ebp, [edx - 0x41]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5a90c6
movzx edx, dl
add edx, 0xffffffc9
jmp 0x5a906d
lea ebp, [edx - 0x61]
xchg ebp, eax
cmp al, 5
xchg ebp, eax
ja 0x5a90d8
movzx ebp, dl
lea edx, [ebp - 0x57]
jmp 0x5a906d
movzx ebp, dl
lea edx, [ebp - 0x30]
jmp 0x5a906d
nop
mov dword [edi], 3
mov dword [edi + 0x24], 0x1d
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a9103
lea ecx, [0x615e2b]
mov dword [edi + 0x20], ecx
jmp 0x5a9117
lea ecx, [edi + 0x20]
lea eax, [0x615e2b]
mov edx, edi
mov edi, ecx
call fcn.00463730
mov edi, edx
mov ecx, dword [esp + 0x78]
mov dword [edi + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edi + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edi + 0x30], ecx
mov dword [edi + 8], 0x27
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a9148
lea eax, [0x619794]
mov dword [edi + 4], eax
jmp 0x5a915c
lea ecx, [edi + 4]
lea eax, [0x619794]
mov edx, edi
mov edi, ecx
call fcn.00463730
mov edi, edx
mov eax, dword [edi + 0x88]
mov ecx, dword [edi + 0x8c]
mov edx, dword [edi + 0x84]
mov dword [edi + 0x14], edx
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
lea ecx, [ebx - 0xd800]
cmp ecx, 0x7ff
jbe 0x5a9580
cmp ebx, 0x10ffff
jg 0x5a9580
mov dword [esp + 0x30], ebx
cmp ebx, 0x7f
jg 0x5a9214
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a91c3
mov esi, dword [esp + 0x84]
jmp 0x5a920b
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov esi, ebx
mov ebp, eax
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov byte [ecx + esi - 1], bl
jmp 0x5a956a
cmp ebx, 0x7ff
jg 0x5a92e1
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a9236
mov esi, dword [esp + 0x84]
jmp 0x5a927e
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 6
add ebx, 0xc0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a92cf
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebx, [edi + 0x80]
mov byte [ecx + esi - 1], bl
jmp 0x5a956a
cmp ebx, 0xffff
jg 0x5a9404
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a9303
mov esi, dword [esp + 0x84]
jmp 0x5a934b
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 0xc
add ebx, 0xe0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a939c
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
mov ebx, edi
sar edi, 6
and edi, 0x3f
add edi, 0x80
xchg edi, eax
mov byte [ecx + esi - 1], al
xchg edi, eax
inc ecx
cmp ebp, ecx
jae 0x5a93f2
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x30]
and ebx, 0x3f
add ebx, 0x80
mov byte [ecx + esi - 1], bl
jmp 0x5a956a
mov ecx, dword [esp + 0x3c]
inc ecx
mov ebp, dword [esp + 0x40]
cmp ebp, ecx
jb 0x5a941a
mov esi, dword [esp + 0x84]
jmp 0x5a9462
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0xe4]
mov ebp, eax
mov esi, ebx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 0x12
add ebx, 0xf0
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a94b3
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
mov ebx, edi
sar edi, 0xc
and edi, 0x3f
add edi, 0x80
xchg edi, eax
mov byte [ecx + esi - 1], al
xchg edi, eax
inc ecx
cmp ebp, ecx
jae 0x5a9509
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov ebx, dword [esp + 0x30]
mov edi, ebx
sar ebx, 6
and ebx, 0x3f
add ebx, 0x80
mov byte [ecx + esi - 1], bl
inc ecx
cmp ebp, ecx
jae 0x5a955d
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5e2160]
mov dword [esp + 0x10], eax
call fcn.0044a1f0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0xe4]
mov edi, dword [esp + 0x30]
and edi, 0x3f
lea ebx, [edi + 0x80]
mov byte [ecx + esi - 1], bl
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x84], esi
xor ebx, ebx
jmp 0x5a9647
nop
mov dword [edx], 3
mov dword [edx + 0x24], 0x1d
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a95a3
lea ecx, [0x615e2b]
mov dword [edx + 0x20], ecx
jmp 0x5a95b1
lea edi, [edx + 0x20]
lea eax, [0x615e2b]
call fcn.00463730
mov ecx, dword [esp + 0x78]
mov dword [edx + 0x28], ecx
mov ecx, dword [esp + 0x74]
mov dword [edx + 0x2c], ecx
mov ecx, dword [esp + 0x70]
mov dword [edx + 0x30], ecx
mov dword [edx + 8], 0x2b
mov ecx, dword [0x7c78f0]
test ecx, ecx
jne 0x5a95e2
lea eax, [0x61a657]
mov dword [edx + 4], eax
jmp 0x5a95f0
lea edi, [edx + 4]
lea eax, [0x61a657]
call fcn.00463730
mov eax, dword [edx + 0x88]
mov ecx, dword [edx + 0x8c]
mov ebx, dword [edx + 0x84]
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], ecx
mov byte [esp + 0xf0], 0
add esp, 0xe0
ret
mov dword [esp + 0x4c], ebx
mov dword [esp], edx
call fcn.0059f3b0
mov eax, dword [esp + 0x4c]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x84]
cmp ebx, eax
jl 0x5a961a
mov eax, ebp
mov edx, esi
jmp 0x5a9062
mov eax, edx
mov ecx, ebp
call fcn.004637b0
mov eax, ebp
call fcn.004637b0
call fcn.004637b0
mov eax, edx
call fcn.004637b0
mov eax, ebp
call fcn.004637b0
mov eax, edx
call fcn.004637b0
mov eax, ebp
call fcn.004637b0
mov eax, ebp
call fcn.004637b0
mov eax, esi
call fcn.004637b0
call fcn.004637b0
call fcn.004637b0
call fcn.004637b0
mov eax, ebx
call fcn.004637b0
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, ebp
mov ecx, edx
call fcn.004637b0
mov eax, esi
mov ecx, edx
call fcn.004637b0
nop
call fcn.00462320
jmp fcn.005a7580