Function at 0x5d7d20
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x70e84b
mov eax, dword fs:[0]
push eax
sub esp, 0x88
push ebx
push ebp
push esi
push edi
mov eax, dword [0x820ac4]
xor eax, esp
push eax
lea eax, [esp + 0x9c]
mov dword fs:[0], eax
mov edi, dword [esp + 0xac]
test edi, edi
je 0x5d7ec9
mov ecx, edi
call fcn.005a14d0
test al, al
jne 0x5d7dae
cmp byte [esp + 0xb4], al
je 0x5d7ec9
call fcn.00600a10
test eax, eax
je 0x5d7d9b
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push 0x763770
call eax
push eax
call fcn.0060b580
add esp, 4
jmp 0x5d7ec9
mov eax, 0x763770
push eax
call fcn.0060b580
add esp, 4
jmp 0x5d7ec9
mov ecx, dword [0x77132c]
push ecx
push 0
push 0x763754
lea ecx, [esp + 0x5c]
call fcn.005fc220
lea edx, [esp + 0x50]
push edx
mov ecx, edi
mov dword [esp + 0xa8], 0
call fcn.005a2010
mov ecx, dword [esp + 0x50]
add ecx, 0xfffffff4
mov bl, al
mov eax, dword [ecx]
or ebp, 0xffffffff
cmp eax, ebp
mov dword [esp + 0xa4], ebp
je 0x5d7e00
add eax, ebp
mov dword [ecx], eax
jne 0x5d7e00
call fcn.005fb120
test bl, bl
je 0x5d7e8e
mov eax, dword [0x77132c]
push eax
push 0
push 0x763754
lea ecx, [esp + 0x34]
call fcn.005fc220
lea ecx, [esp + 0x28]
push ecx
mov ecx, edi
mov dword [esp + 0xa8], 1
call fcn.005a36a0
mov ecx, dword [esp + 0x28]
add ecx, 0xfffffff4
mov esi, eax
mov eax, dword [ecx]
cmp eax, ebp
mov dword [esp + 0x50], esi
mov dword [esp + 0xa4], ebp
je 0x5d7e5b
add eax, 0xffffffff
mov dword [ecx], eax
jne 0x5d7e5b
call fcn.005fb120
cmp esi, 1
je 0x5d7ef3
cmp esi, 2
je 0x5d7ef3
cmp esi, 4
jne 0x5d7e7a
lea ebp, [esi + 0xc]
jmp 0x5d7efd
cmp esi, 8
je 0x5d7e9b
cmp esi, 9
je 0x5d7e9b
cmp esi, 0xa
je 0x5d7e9b
cmp esi, 0xb
je 0x5d7ea0
mov esi, 0x18
mov dword [esp + 0x50], esi
xor ebp, ebp
jmp 0x5d7efd
cmp esi, 0xb
jne 0x5d7ee7
mov ecx, edi
call fcn.005a1eb0
test al, al
jne 0x5d7ee7
cmp byte [esp + 0xb4], al
je 0x5d7ec9
push 0
push 0x763700
call fcn.0040fbb8
push eax
call fcn.0060b580
add esp, 0xc
xor al, al
mov ecx, dword [esp + 0x9c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret 0x14
mov esi, 8
mov ebp, 0x100
jmp 0x5d7efd
mov esi, 1
mov ebp, 2
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x20], ebp
call fcn.005a19d0
movzx edx, si
mov ebx, eax
imul edx, ebx
test edx, edx
mov dword [esp + 0x5c], edx
fild dword [esp + 0x5c]
jge 0x5d7f27
fadd qword [0x7cb670]
fld qword [0x7636f8]
fmul st(1)
call fcn.0054ea00
and eax, 0x80000003
jns 0x5d7f40
dec eax
or eax, 0xfffffffc
inc eax
mov ecx, 4
sub ecx, eax
and ecx, 0x80000003
jns 0x5d7f54
dec ecx
or ecx, 0xfffffffc
inc ecx
fmul qword [0x7636f0]
mov word [esp + 0x64], 0x4d42
fnstcw word [esp + 0x14]
movzx eax, word [esp + 0x14]
or eax, 0xc00
mov dword [esp + 0x54], eax
fldcw word [esp + 0x54]
fistp qword [esp + 0x5c]
mov eax, dword [esp + 0x5c]
sub ecx, eax
mov edi, ecx
lea ecx, [ebp*4]
fldcw word [esp + 0x14]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x58], edi
call fcn.005a19f0
mov edx, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], 0
imul edx, edi
lea ecx, [edx + eax + 0x36]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0xac]
add eax, 0x36
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0x28
call fcn.005a19d0
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x78], eax
call fcn.005a19f0
cmp byte [esp + 0xb8], 0
jne 0x5d7ff2
add eax, eax
mov ecx, dword [esp + 0xac]
mov dword [esp + 0x7c], eax
mov word [esp + 0x80], 1
mov word [esp + 0x82], si
mov dword [esp + 0x84], 0
call fcn.005a19f0
imul eax, edi
cmp byte [esp + 0xb8], 0
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x88], eax
mov eax, 0x48
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], 0
je 0x5d80f1
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 2
lea eax, [esp + 0x68]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d80d7
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x6c]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d80d7
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x70]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d80d7
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x74]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
jne 0x5d80f1
cmp byte [esp + 0xb4], 0
je 0x5d7ec9
push 0
push 0x763690
jmp 0x5d7ebb
cmp byte [esp + 0xbc], 0
jne 0x5d828f
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x7c]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x80]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 2
lea eax, [esp + 0x84]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 2
lea eax, [esp + 0x86]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x88]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x8c]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x90]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x94]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x98]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8275
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push 4
lea eax, [esp + 0x9c]
push eax
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
jne 0x5d828f
cmp byte [esp + 0xb4], 0
je 0x5d7ec9
push 0
push 0x763628
jmp 0x5d7ebb
mov esi, dword [esp + 0x50]
xor eax, eax
cmp esi, 1
mov dword [esp + 0x1c], eax
mov dword [esp + 0x4c], eax
je 0x5d831b
cmp esi, 4
je 0x5d831b
cmp esi, 8
je 0x5d831b
cmp esi, 0xb
je 0x5d836f
cmp esi, 9
je 0x5d82c8
cmp esi, 0xa
je 0x5d82c8
cmp esi, 2
jne 0x5d84b0
mov ecx, dword [esp + 0x28]
push ecx
call fcn.005416ea
add esp, 4
xor edx, edx
test ebp, ebp
mov dword [esp + 0x24], eax
jle 0x5d8420
mov ebp, dword [esp + 0x20]
add eax, 1
lea ebx, [ebx]
test edx, edx
jle 0x5d82fe
cmp esi, 2
jne 0x5d82fe
or cl, 0xff
jmp 0x5d8300
mov cl, dl
mov byte [eax + 1], cl
mov byte [eax], cl
mov byte [eax - 1], cl
mov byte [eax + 2], 0
add edx, 1
add eax, 4
cmp edx, ebp
jl 0x5d82f0
jmp 0x5d8420
cmp esi, 0xb
je 0x5d836f
push 8
call fcn.005416ba
add esp, 4
test eax, eax
je 0x5d833d
mov dword [eax + 4], 0
mov dword [eax], 0x7526a0
jmp 0x5d833f
xor eax, eax
cmp ebp, 0xec
mov dword [esp + 0x4c], eax
mov ecx, 0xec
jg 0x5d8352
mov ecx, ebp
push 4
push 0
push ecx
lea edx, [esp + 0x28]
push edx
push eax
mov eax, dword [esp + 0xc0]
push eax
call fcn.005eaa50
add esp, 0x18
jmp 0x5d83b5
push 8
call fcn.005416ba
mov esi, eax
add esp, 4
mov dword [esp + 0x5c], esi
test esi, esi
mov dword [esp + 0xa4], 2
je 0x5d83a4
mov ecx, dword [esp + 0xac]
call fcn.005a1ed0
push eax
mov ecx, esi
call fcn.005b5390
jmp 0x5d83a6
xor eax, eax
mov dword [esp + 0xa4], 0xffffffff
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x28]
push ecx
call fcn.005416ea
xor ebp, ebp
add esp, 4
cmp dword [esp + 0x20], ebp
mov dword [esp + 0x24], eax
jle 0x5d8420
mov esi, eax
add esi, 2
lea edx, [esp + 0x42]
push edx
lea eax, [esp + 0x3f]
push eax
lea ecx, [esp + 0x4b]
push ecx
mov ecx, dword [esp + 0x28]
push ebp
call fcn.005c6460
test al, al
jne 0x5d83fc
mov byte [esp + 0x42], al
mov byte [esp + 0x3b], al
mov byte [esp + 0x43], al
mov dl, byte [esp + 0x42]
mov byte [esi - 2], dl
mov al, byte [esp + 0x3b]
mov byte [esi - 1], al
mov cl, byte [esp + 0x43]
mov byte [esi], cl
mov byte [esi + 1], 0
add ebp, 1
add esi, 4
cmp ebp, dword [esp + 0x20]
jl 0x5d83d3
cmp dword [esp + 0x24], 0
je 0x5d84b0
cmp byte [esp + 0xbc], 0
mov esi, dword [esp + 0x24]
jne 0x5d84a7
mov eax, dword [esp + 0x28]
mov edx, dword [edi]
mov edx, dword [edx + 0x1c]
push eax
push esi
mov ecx, edi
call edx
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
jne 0x5d84a7
cmp byte [esp + 0xb4], al
je 0x5d8473
push 0
push 0x7635e0
call fcn.0040fbb8
push eax
call fcn.0060b580
add esp, 0xc
push esi
call fcn.005416e5
mov ecx, dword [esp + 0x20]
add esp, 4
test ecx, ecx
je 0x5d848d
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x5d7ec9
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
jmp 0x5d7ec9
push esi
call fcn.005416e5
add esp, 4
mov ecx, dword [esp + 0xac]
call fcn.005a1cc0
mov edi, dword [esp + 0x4c]
test edi, edi
mov esi, eax
je 0x5d84da
mov ecx, edi
call fcn.005a14d0
test al, al
je 0x5d84da
mov ecx, edi
call fcn.005a1cc0
mov esi, eax
mov ebp, dword [esp + 0x58]
push ebp
call fcn.005416ea
push ebp
mov edi, eax
push 0
push edi
mov dword [esp + 0x30], edi
call fcn.0054b920
mov ecx, dword [esp + 0xbc]
add esp, 0x10
call fcn.005a19f0
sub eax, 1
mov dword [esp + 0x54], eax
js 0x5d8687
imul eax, ebx
lea ecx, [eax + eax*2]
lea eax, [ebx*4]
sub eax, ebx
neg eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], eax
jmp 0x5d8530
fld qword [0x7635d8]
mov eax, dword [esp + 0x50]
cmp eax, 0x18
fld qword [0x7635d0]
fld qword [0x7635c8]
fld qword [0x7635c0]
jne 0x5d85aa
test ebx, ebx
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
jbe 0x5d8643
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x20]
lea ecx, [esi + 1]
lea eax, [edx + ecx]
mov edx, esi
sub edx, ecx
add edx, 2
mov ebp, esi
add edi, 2
sub ebp, ecx
mov dword [esp + 0x14], edx
mov ecx, ebx
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + eax]
mov byte [edi - 2], dl
movzx edx, byte [eax]
mov byte [edi - 1], dl
movzx edx, byte [eax + ebp]
mov byte [edi], dl
add eax, 3
add edi, 3
sub ecx, 1
jne 0x5d8583
jmp 0x5d8643
cmp eax, 8
je 0x5d8c24
cmp eax, 0xb
je 0x5d8c24
cmp eax, 9
jne 0x5d86bb
xor edi, edi
fstp st(0)
test ebx, ebx
jbe 0x5d863d
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [eax + esi]
mov ebp, 1
movzx eax, byte [ecx + ebp]
fnstcw word [esp + 0x14]
mov dword [esp + 0x18], eax
movzx eax, byte [ecx]
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, 2
movzx eax, byte [eax + ecx]
fmul st(3)
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0x14]
fmul st(3)
faddp st(1)
or eax, 0xc00
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
add ecx, 3
fmul st(2)
faddp st(1)
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov al, byte [esp + 0x18]
mov byte [edi + edx], al
add edi, ebp
cmp edi, ebx
fldcw word [esp + 0x14]
jb 0x5d85dd
fstp st(2)
fstp st(0)
fstp st(0)
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x58]
mov eax, dword [ecx]
mov edi, dword [esp + 0x20]
mov eax, dword [eax + 0x1c]
push edx
push edi
call eax
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test al, al
je 0x5d8c88
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
add dword [esp + 0x24], ecx
sub eax, 1
test eax, eax
mov dword [esp + 0x54], eax
jge 0x5d8530
mov esi, dword [esp + 0x4c]
push edi
call fcn.005416e5
mov ecx, dword [esp + 0x20]
add esp, 4
test ecx, ecx
je 0x5d86a5
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
test esi, esi
je 0x5d86b4
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov al, 1
jmp 0x5d7ecb
cmp eax, 0xa
fstp st(3)
fstp st(1)
fstp st(0)
jne 0x5d86f4
xor eax, eax
fstp st(0)
test ebx, ebx
jbe 0x5d8643
mov ecx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
lea edi, [ecx + esi]
lea ecx, [ecx]
mov dl, byte [edi]
mov byte [eax + ebp], dl
add eax, 1
add edi, 3
cmp eax, ebx
jb 0x5d86e0
jmp 0x5d8643
cmp eax, 4
jne 0x5d879a
xor edi, edi
fstp st(0)
test ebx, ebx
jbe 0x5d8643
mov ebp, dword [esp + 0x24]
lea eax, [esi + 1]
mov ecx, esi
sub ecx, eax
add ecx, 2
mov dword [esp + 0x14], ecx
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x28], ecx
lea edx, [edi + 1]
cmp edx, ebx
jbe 0x5d8734
mov dword [esp + 0x2c], 0
jmp 0x5d8756
movzx eax, byte [esi + ebp + 5]
movzx ecx, byte [esi + ebp + 4]
movzx edx, byte [esi + ebp + 3]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.005c6420
movzx eax, al
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
lea eax, [esi + ebp + 1]
movzx edx, byte [eax + ecx]
movzx ecx, byte [eax]
push edx
mov edx, dword [esp + 0x2c]
movzx eax, byte [eax + edx]
push ecx
mov ecx, dword [esp + 0x24]
push eax
call fcn.005c6420
mov edx, dword [esp + 0x20]
shl al, 4
or al, byte [esp + 0x2c]
mov ecx, edi
shr ecx, 1
add edi, 2
add ebp, 6
cmp edi, ebx
mov byte [ecx + edx], al
jb 0x5d8723
jmp 0x5d8643
cmp eax, 1
jne 0x5d89ac
test ebx, ebx
fstp st(0)
jbe 0x5d8643
mov edi, dword [esp + 0x24]
lea eax, [esi + 1]
mov ecx, esi
sub ecx, eax
mov ebp, 2
add ecx, ebp
mov dword [esp + 0x14], ecx
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x28], ecx
jmp 0x5d87d0
lea edx, [ebp - 1]
cmp edx, ebx
jbe 0x5d87e1
mov dword [esp + 0x2c], 0
jmp 0x5d8806
movzx eax, byte [edi + esi + 5]
movzx ecx, byte [edi + esi + 4]
movzx edx, byte [edi + esi + 3]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.005c6420
movzx eax, al
shl eax, 6
mov dword [esp + 0x2c], eax
cmp ebp, ebx
jbe 0x5d8814
mov dword [esp + 0x48], 0
jmp 0x5d8839
movzx eax, byte [edi + esi + 8]
movzx ecx, byte [edi + esi + 7]
movzx edx, byte [edi + esi + 6]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.005c6420
movzx eax, al
shl eax, 5
mov dword [esp + 0x48], eax
lea eax, [ebp + 1]
cmp eax, ebx
jbe 0x5d884a
mov dword [esp + 0x44], 0
jmp 0x5d886f
movzx ecx, byte [edi + esi + 0xb]
movzx edx, byte [edi + esi + 0xa]
movzx eax, byte [edi + esi + 9]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.005c6420
movzx eax, al
shl eax, 4
mov dword [esp + 0x44], eax
lea ecx, [ebp + 2]
cmp ecx, ebx
jbe 0x5d8880
mov dword [esp + 0x30], 0
jmp 0x5d88a8
movzx edx, byte [edi + esi + 0xe]
movzx eax, byte [edi + esi + 0xd]
movzx ecx, byte [edi + esi + 0xc]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.005c6420
movzx eax, al
add eax, eax
add eax, eax
add eax, eax
mov dword [esp + 0x30], eax
lea edx, [ebp + 3]
cmp edx, ebx
jbe 0x5d88b9
mov dword [esp + 0x34], 0
jmp 0x5d88df
movzx eax, byte [edi + esi + 0x11]
movzx ecx, byte [edi + esi + 0x10]
movzx edx, byte [edi + esi + 0xf]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.005c6420
movzx eax, al
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
lea eax, [ebp + 4]
cmp eax, ebx
jbe 0x5d88f0
mov dword [esp + 0x3c], 0
jmp 0x5d8914
movzx ecx, byte [edi + esi + 0x14]
movzx edx, byte [edi + esi + 0x13]
movzx eax, byte [edi + esi + 0x12]
push ecx
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.005c6420
movzx eax, al
add eax, eax
mov dword [esp + 0x3c], eax
lea ecx, [ebp + 5]
cmp ecx, ebx
jbe 0x5d8925
mov dword [esp + 0x18], 0
jmp 0x5d8947
movzx edx, byte [edi + esi + 0x17]
movzx eax, byte [edi + esi + 0x16]
movzx ecx, byte [edi + esi + 0x15]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x28]
call fcn.005c6420
movzx edx, al
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x14]
lea eax, [edi + esi + 1]
movzx edx, byte [ecx + eax]
movzx ecx, byte [eax]
push edx
mov edx, dword [esp + 0x2c]
movzx eax, byte [edx + eax]
push ecx
mov ecx, dword [esp + 0x24]
push eax
call fcn.005c6420
mov edx, dword [esp + 0x20]
shl al, 7
or al, byte [esp + 0x2c]
lea ecx, [ebp - 2]
or al, byte [esp + 0x48]
shr ecx, 3
or al, byte [esp + 0x44]
add ebp, 8
or al, byte [esp + 0x30]
add edi, 0x18
or al, byte [esp + 0x34]
or al, byte [esp + 0x3c]
or al, byte [esp + 0x18]
mov byte [ecx + edx], al
lea eax, [ebp - 2]
cmp eax, ebx
jb 0x5d87d0
jmp 0x5d8643
cmp eax, 2
jne 0x5d8641
test ebx, ebx
jbe 0x5d8641
mov ecx, dword [esp + 0x24]
mov edi, eax
lea edx, [edi - 1]
xor ebp, ebp
cmp edx, ebx
jbe 0x5d89d0
xor edx, edx
jmp 0x5d8a07
movzx eax, byte [ecx + esi + 3]
fnstcw word [esp + 0x14]
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x18], eax
fmul st(1)
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov dl, byte [esp + 0x18]
movzx edx, dl
shl edx, 6
fldcw word [esp + 0x14]
cmp edi, ebx
jbe 0x5d8a11
mov dword [esp + 0x18], ebp
jmp 0x5d8a4c
movzx eax, byte [ecx + esi + 6]
fnstcw word [esp + 0x14]
mov dword [esp + 0x18], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x18]
or eax, 0xc00
mov dword [esp + 0x18], eax
fmul st(1)
fldcw word [esp + 0x18]
fistp dword [esp + 0x18]
mov al, byte [esp + 0x18]
movzx eax, al
shl eax, 5
fldcw word [esp + 0x14]
mov dword [esp + 0x18], eax
lea eax, [edi + 1]
cmp eax, ebx
jbe 0x5d8a59
mov dword [esp + 0x3c], ebp
jmp 0x5d8a94
movzx eax, byte [ecx + esi + 9]
fnstcw word [esp + 0x14]
mov dword [esp + 0x3c], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x3c]
or eax, 0xc00
mov dword [esp + 0x3c], eax
fmul st(1)
fldcw word [esp + 0x3c]
fistp dword [esp + 0x3c]
mov al, byte [esp + 0x3c]
movzx eax, al
shl eax, 4
fldcw word [esp + 0x14]
mov dword [esp + 0x3c], eax
lea eax, [edi + 2]
cmp eax, ebx
jbe 0x5d8aa1
mov dword [esp + 0x34], ebp
jmp 0x5d8adf
movzx eax, byte [ecx + esi + 0xc]
fnstcw word [esp + 0x14]
mov dword [esp + 0x34], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x34]
or eax, 0xc00
mov dword [esp + 0x34], eax
fmul st(1)
fldcw word [esp + 0x34]
fistp dword [esp + 0x34]
mov al, byte [esp + 0x34]
movzx eax, al
add eax, eax
fldcw word [esp + 0x14]
add eax, eax
add eax, eax
mov dword [esp + 0x34], eax
lea eax, [edi + 3]
cmp eax, ebx
jbe 0x5d8aec
mov dword [esp + 0x30], ebp
jmp 0x5d8b28
movzx eax, byte [ecx + esi + 0xf]
fnstcw word [esp + 0x14]
mov dword [esp + 0x30], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x30]
or eax, 0xc00
mov dword [esp + 0x30], eax
fmul st(1)
fldcw word [esp + 0x30]
fistp dword [esp + 0x30]
mov al, byte [esp + 0x30]
movzx eax, al
add eax, eax
fldcw word [esp + 0x14]
add eax, eax
mov dword [esp + 0x30], eax
lea eax, [edi + 4]
cmp eax, ebx
jbe 0x5d8b35
mov dword [esp + 0x44], ebp
jmp 0x5d8b6f
movzx eax, byte [ecx + esi + 0x12]
fnstcw word [esp + 0x14]
mov dword [esp + 0x44], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x44]
or eax, 0xc00
mov dword [esp + 0x44], eax
fmul st(1)
fldcw word [esp + 0x44]
fistp dword [esp + 0x44]
mov al, byte [esp + 0x44]
movzx eax, al
add eax, eax
fldcw word [esp + 0x14]
mov dword [esp + 0x44], eax
lea eax, [edi + 5]
cmp eax, ebx
jbe 0x5d8b7c
mov dword [esp + 0x48], ebp
jmp 0x5d8bb4
movzx eax, byte [ecx + esi + 0x15]
fnstcw word [esp + 0x14]
mov dword [esp + 0x48], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x48]
or eax, 0xc00
mov dword [esp + 0x48], eax
fmul st(1)
fldcw word [esp + 0x48]
fistp dword [esp + 0x48]
mov al, byte [esp + 0x48]
movzx eax, al
mov dword [esp + 0x48], eax
fldcw word [esp + 0x14]
movzx eax, byte [ecx + esi]
fnstcw word [esp + 0x14]
mov dword [esp + 0x2c], eax
movzx eax, word [esp + 0x14]
fild dword [esp + 0x2c]
or eax, 0xc00
mov dword [esp + 0x2c], eax
fmul st(1)
mov ebp, dword [esp + 0x20]
add ecx, 0x18
fldcw word [esp + 0x2c]
fistp dword [esp + 0x2c]
mov al, byte [esp + 0x2c]
shl al, 7
or al, dl
or al, byte [esp + 0x18]
fldcw word [esp + 0x14]
lea edx, [edi - 2]
or al, byte [esp + 0x3c]
shr edx, 3
or al, byte [esp + 0x34]
add edi, 8
or al, byte [esp + 0x30]
or al, byte [esp + 0x44]
or al, byte [esp + 0x48]
mov byte [edx + ebp], al
lea eax, [edi - 2]
cmp eax, ebx
jb 0x5d89c3
jmp 0x5d8641
fstp st(0)
xor ebp, ebp
test ebx, ebx
fstp st(2)
fstp st(0)
fstp st(0)
jbe 0x5d8643
mov ecx, dword [esp + 0x24]
lea eax, [esi + 1]
mov edx, esi
lea edi, [ecx + eax]
sub edx, eax
add edx, 2
mov ecx, esi
sub ecx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x14]
movzx ecx, byte [edi + eax]
movzx edx, byte [edi]
mov eax, dword [esp + 0x28]
push ecx
movzx ecx, byte [eax + edi]
push edx
push ecx
mov ecx, dword [esp + 0x28]
call fcn.005c6420
mov edx, dword [esp + 0x20]
mov byte [edx + ebp], al
add ebp, 1
add edi, 3
cmp ebp, ebx
jb 0x5d8c53
jmp 0x5d8643
cmp byte [esp + 0xb4], 0
je 0x5d8cbb
call fcn.00600a10
test eax, eax
je 0x5d8cad
mov edx, dword [eax]
push 0
mov ecx, eax
mov eax, dword [edx + 8]
push 0x763588
call eax
jmp 0x5d8cb2
mov eax, 0x763588
push eax
call fcn.0060b580
add esp, 4
push edi
call fcn.005416e5
mov ecx, dword [esp + 0x20]
add esp, 4
test ecx, ecx
je 0x5d8cd5
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov ecx, dword [esp + 0x4c]
test ecx, ecx
je 0x5d7ec9
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
jmp 0x5d7ec9