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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3214
call fcn.005c1bc0
mov eax, dword [0x698b9c]
xor eax, esp
mov dword [esp + 0x3210], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x2c]
mov edx, dword [ebp + 8]
mov dword [esp + 0x38], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x50], eax
mov eax, dword [ebp + 0x30]
push ebx
add eax, 4
mov dword [esp + 0x18], ecx
mov ecx, eax
push esi
mov esi, dword [ebp + 0x28]
imul ecx, esi
push edi
lea edi, [ecx + ecx*4]
lea ecx, [eax + eax*4]
lea ebx, [eax + eax*4]
add ecx, ecx
add ebx, ebx
lea eax, [esi + esi]
add ecx, ecx
mov dword [esp + 0x50], eax
add ebx, ebx
lea eax, [esi + esi*8]
mov dword [esp + 0x30], ecx
add eax, eax
add ebx, ebx
lea ecx, [esi + esi*4]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], eax
cmp esi, 0x10
jne 0x5a5165
mov eax, edi
lea esi, [esp + 0x2d18]
call fcn.005a4b40
xor eax, eax
push edi
mov ecx, esi
push ecx
lea edx, [esp + 0x2960]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
push edx
lea eax, [esp + 0x78]
push eax
call fcn.005a9590
lea ecx, [esp + 0xdf8]
push ecx
mov edx, ebx
lea edi, [esp + 0x296c]
call fcn.005a4bb0
add esp, 0x14
jmp 0x5a51d7
cmp esi, 0xc
jne 0x5a51c9
mov eax, edi
lea esi, [esp + 0x2d18]
call fcn.005a4b40
xor eax, eax
push edi
mov edx, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
push edx
lea eax, [esp + 0x2960]
push eax
lea ecx, [esp + 0x78]
push ecx
call fcn.005a92e0
lea edx, [esp + 0xdf8]
push edx
mov edx, ebx
lea edi, [esp + 0x296c]
call fcn.005a4bb0
add esp, 0x14
jmp 0x5a51d7
mov eax, ebx
lea esi, [esp + 0x2958]
call fcn.005a4b40
xor eax, eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
push ebx
lea eax, [esp + 0x295c]
push eax
lea ecx, [esp + 0x2be0]
push ecx
lea edx, [esp + 0x78]
push edx
call fcn.005a9590
mov esi, dword [esp + 0x40]
lea eax, [esp + 0xb78]
push eax
mov edx, esi
lea edi, [esp + 0x2bec]
call fcn.005a4bb0
dec esi
add esp, 0x14
test esi, esi
jle 0x5a5281
fld dword [0x656564]
fld dword [0x656568]
fld dword [esp + esi*4 + 0xb68]
call fcn.005c52f0
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fadd dword [esp + esi*4 + 0xb64]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x5a5254
fstp st(0)
fld st(1)
jmp 0x5a5261
fcom st(1)
fnstsw ax
test ah, 5
jp 0x5a5261
fstp st(0)
fld st(0)
call fcn.005c52f0
movsx ecx, ax
mov dword [esp + 0x30], ecx
dec esi
fild dword [esp + 0x30]
fstp dword [esp + esi*4 + 0xb6c]
test esi, esi
jg 0x5a522a
fstp st(1)
fstp st(0)
mov esi, dword [ebp + 0x30]
mov edx, esi
imul edx, edx, 0x254
push edx
lea eax, [esp + 0x21c]
push 0
push eax
call fcn.005bfd50
mov eax, esi
sar eax, 1
add esp, 0xc
test eax, eax
jle 0x5a543f
lea ebx, [esp + 0xc88]
mov dword [esp + 0x10], eax
mov ecx, dword [ebp + 0x34]
push ecx
push 0x41
push 0x28
lea edx, [esp + 0x11c]
push edx
lea eax, [ebx - 0x100]
push eax
lea edi, [ebx + 0x20]
push edi
mov esi, ebx
call fcn.00591c90
fld dword [esp + 0x228]
push 0x28
fstp qword [esp + 0x7c]
push edi
call fcn.005a4a30
fstp qword [esp + 0x50]
push 0x28
push ebx
call fcn.005a4a30
fadd qword [esp + 0x58]
add esp, 0x28
mov eax, 9
fadd qword [0x65f4d0]
lea ecx, [esp + 0x204]
fld qword [esp + 0x60]
fdiv st(1)
fld qword [0x6807b8]
fmul st(1), st(0)
fxch st(1)
fadd dword [esp + 0x238]
fstp dword [esp + 0x238]
fld dword [esi - 4]
add eax, 4
fld dword [esi + 0x9c]
sub esi, 0x10
fld st(1)
sub ecx, 0x10
cmp eax, 0x45
fmulp st(2)
fmul st(0), st(0)
fsubp st(1)
faddp st(2)
fld dword [ecx + 0x18]
fdiv st(2)
fmul st(1)
fadd dword [esp + eax*4 + 0x208]
fstp dword [esp + eax*4 + 0x208]
fld dword [esi + 8]
fld dword [esi + 0xa8]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
fsubp st(1)
faddp st(2)
fld dword [ecx + 0x14]
fdiv st(2)
fmul st(1)
fadd dword [esp + eax*4 + 0x20c]
fstp dword [esp + eax*4 + 0x20c]
fld dword [esi + 4]
fld dword [esi + 0xa4]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
fsubp st(1)
faddp st(2)
fld dword [ecx + 0x10]
fdiv st(2)
fmul st(1)
fadd dword [esp + eax*4 + 0x210]
fstp dword [esp + eax*4 + 0x210]
fld dword [esi]
fld dword [esi + 0xa0]
fld st(1)
fmulp st(2)
fmul st(0), st(0)
fsubp st(1)
faddp st(2)
fld dword [ecx + 0xc]
fdiv st(2)
fmul st(1)
fadd dword [esp + eax*4 + 0x214]
fstp dword [esp + eax*4 + 0x214]
jle 0x5a532e
cmp eax, 0x48
jg 0x5a542a
lea ecx, [eax*4]
mov edx, ecx
lea ecx, [esp + 0x230]
sub ecx, edx
fld dword [esi - 4]
sub esi, 4
fld dword [esi + 0xa0]
inc eax
fld st(1)
sub ecx, 4
cmp eax, 0x48
fmulp st(2)
fmul st(0), st(0)
fsubp st(1)
faddp st(2)
fld dword [ecx + 4]
fdiv st(2)
fmul st(1)
fadd dword [esp + eax*4 + 0x214]
fstp dword [esp + eax*4 + 0x214]
jle 0x5a53f6
fstp st(0)
add ebx, 0xa0
sub dword [esp + 0x10], 1
fstp st(0)
jne 0x5a52b6
fld dword [0x65c960]
mov eax, 0x48
mov dword [esp + 0x10], eax
fld dword [esp + eax*4 + 0x218]
dec eax
cmp eax, 8
fild dword [esp + 0x10]
mov dword [esp + 0x10], eax
fmul st(1)
fmul st(2)
fsubp st(1)
fstp dword [esp + eax*4 + 0x21c]
jge 0x5a544e
mov esi, dword [esp + 0x5c]
fstp st(0)
lea esi, [esi + esi + 4]
push esi
push 0x41
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x244]
push ecx
call fcn.005a9060
fld dword [0x65659c]
fld dword [esp + 0x248]
add esp, 0x10
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x5a54fa
mov edx, dword [ebp + 0x30]
fstp st(0)
mov ecx, dword [esp + 0x4c]
lea eax, [edx*4]
push eax
push 0
push ecx
call fcn.005bfd50
fldz
mov edx, dword [esp + 0x2c]
fstp dword [edx]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
add esp, 0xc
xor eax, eax
mov word [ecx], ax
mov byte [edx], al
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3210]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
fmul dword [ebp + 0x20]
xor edx, edx
test esi, esi
jle 0x5a5531
xor ecx, ecx
fcom dword [esp + ecx + 0x238]
fnstsw ax
test ah, 5
jp 0x5a552f
mov eax, dword [esp + ecx + 0xb0]
lea eax, [eax + eax + 0x10]
mov dword [esp + ecx + 0xb0], eax
inc edx
add ecx, 4
cmp edx, esi
jl 0x5a5505
jmp 0x5a5531
mov esi, edx
xor eax, eax
fstp st(0)
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov ecx, 0x44
lea edi, [esp + 0x283e]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
test esi, esi
jle 0x5a556e
mov ecx, dword [esp + eax*4 + 0xb0]
inc eax
cmp eax, esi
mov edx, 1
mov word [esp + ecx*2 + 0x2828], dx
jl 0x5a5555
mov eax, 0x92
jmp 0x5a5580
mov cx, word [esp + eax*2 + 0x2826]
add cx, word [esp + eax*2 + 0x2824]
dec eax
add word [esp + eax*2 + 0x282a], cx
cmp eax, 0x10
jge 0x5a5580
xor ecx, ecx
mov eax, 0x10
cmp word [esp + eax*2 + 0x282a], 0
jle 0x5a55b8
mov dword [esp + ecx*4 + 0xb0], eax
inc ecx
inc eax
cmp eax, 0x90
jl 0x5a55a5
mov dword [esp + 0x10], ecx
lea eax, [esp + 0x294a]
mov ecx, 0x83
mov dx, word [eax - 4]
add dx, word [eax]
add eax, 0xfffffffe
add dx, word [eax]
add word [eax + 4], dx
sub ecx, 1
jne 0x5a55d0
xor esi, esi
mov eax, 0x10
lea ecx, [ecx]
cmp word [esp + eax*2 + 0x2828], 0
jle 0x5a5607
lea ecx, [eax - 2]
mov word [esp + esi*2 + 0x2828], cx
inc esi
inc eax
cmp eax, 0x93
jl 0x5a55f0
push 0x950
lea edx, [esp + 0x21c]
push 0
push edx
mov dword [esp + 0x28], esi
call fcn.005bfd50
mov edi, dword [ebp + 0x28]
add esp, 0xc
cmp edi, 8
jne 0x5a563e
mov ebx, dword [esp + 0x3c]
add ebx, 0x280
jmp 0x5a5645
lea ebx, [esp + 0x1068]
cmp dword [ebp + 0x30], 0
fldz
jle 0x5a569a
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
lea esp, [esp]
push 0x28
fstp st(0)
push ebx
call fcn.005a4a30
fadd qword [0x6807a0]
add esp, 8
mov dword [esp + 0xc], 0
fstp qword [esp + 0x30]
test esi, esi
jg 0x5a56e4
fldz
add dword [esp + 0x14], 0x95
add ebx, 0xa0
sub dword [esp + 0x18], 1
jne 0x5a5660
mov eax, dword [ebp + 0x1c]
fst dword [esp + 0x14]
fld dword [0x65f4c8]
mov dword [esp + 0x24], 0
fstp dword [esp + 0x30]
mov dword [esp + 0xc], 0xffffffff
test eax, eax
jle 0x5a5787
cmp edi, 0xc
jne 0x5a5768
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x5a576f
fstp st(0)
mov ecx, dword [esp + 0xc]
movsx edi, word [esp + ecx*2 + 0x2828]
lea edx, [edi*4]
push 0x28
mov esi, ebx
sub esi, edx
push ebx
push esi
call fcn.005a8f20
add esp, 0xc
fldz
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5a573c
fadd st(0), st(0)
push 0x28
push esi
fstp qword [esp + 0x68]
call fcn.005a4a30
fadd qword [esp + 0x38]
mov eax, dword [esp + 0x1c]
add esp, 8
add edi, eax
fdivr qword [esp + 0x60]
fstp dword [esp + edi*4 + 0x218]
fldz
jmp 0x5a574d
mov ecx, dword [esp + 0x14]
fstp st(0)
fldz
add edi, ecx
fst dword [esp + edi*4 + 0x218]
mov eax, dword [esp + 0xc]
inc eax
cmp eax, dword [esp + 0x1c]
mov dword [esp + 0xc], eax
jl 0x5a56e2
mov edi, dword [ebp + 0x28]
mov esi, dword [esp + 0x1c]
jmp 0x5a5685
cmp edi, 0x10
jne 0x5a5772
sar eax, 1
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x65c988]
fstp dword [esp + 0x60]
jmp 0x5a578b
fst dword [esp + 0x60]
cmp dword [ebp + 0x30], 4
jne 0x5a57b5
mov ebx, 0xb
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], 0x65f67c
cmp edi, 8
jne 0x5a57ae
cmp dword [esp + 0x5c], 0
jg 0x5a57c6
mov ebx, 3
jmp 0x5a57c6
mov ebx, 3
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], 0x65f658
cmp dword [esp + 0x10], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], 0
jle 0x5a590f
fild dword [ebp + 0x30]
fld dword [0x680850]
fld dword [0x65659c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + ecx*4 + 0xb0]
xor esi, esi
mov dword [esp + 0x28], edx
test ebx, ebx
jle 0x5a584e
lea edi, [esp + 0x84]
cmp dword [ebp + 0x30], 0
fxch st(3)
fst dword [edi]
jle 0x5a5844
mov eax, dword [esp + 0x40]
fld st(0)
mov edx, dword [ebp + 0x30]
xor ecx, ecx
add eax, esi
movsx ebx, byte [eax]
add ebx, dword [esp + 0x28]
add eax, dword [esp + 0x1c]
add ebx, ecx
add ecx, 0x95
sub edx, 1
fadd dword [esp + ebx*4 + 0x218]
jne 0x5a581f
mov ebx, dword [esp + 0x2c]
fstp dword [edi]
inc esi
fxch st(3)
add edi, 4
cmp esi, ebx
jl 0x5a5808
fld dword [0x65f4c8]
xor edx, edx
xor ecx, ecx
test ebx, ebx
jle 0x5a587a
fcom dword [esp + ecx*4 + 0x84]
fnstsw ax
test ah, 5
jp 0x5a5875
fstp st(0)
mov edx, ecx
fld dword [esp + ecx*4 + 0x84]
inc ecx
cmp ecx, ebx
jl 0x5a585c
cmp dword [ebp + 0x1c], 0
fild dword [esp + 0x28]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x65c988]
fld st(4)
fmul st(1)
fmul st(3)
fsubr st(2)
jle 0x5a58b6
mov ecx, dword [esp + 0x20]
fxch st(1)
fsub dword [esp + 0x60]
fmul st(0), st(0)
fld st(5)
fmul st(1)
fmul dword [ecx]
fmul st(4)
fxch st(1)
fadd st(5)
fdivp st(1)
fsubp st(1)
jmp 0x5a58b8
fstp st(1)
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5a58e9
fld st(4)
fmul dword [ebp + 0x24]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x5a58e9
mov esi, dword [esp + 0x28]
fstp dword [esp + 0x30]
mov dword [esp + 0xc], esi
fstp dword [esp + 0x14]
mov dword [esp + 0x24], edx
jmp 0x5a58f1
mov esi, dword [esp + 0xc]
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x18]
inc eax
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x18], eax
jl 0x5a57ec
fstp st(0)
fstp st(0)
cmp esi, 0xffffffff
jne 0x5a594d
fstp st(0)
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x20]
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
fstp dword [edx]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov word [ecx], ax
mov byte [edx], al
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3210]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
fstp st(1)
mov eax, dword [esp + 0x20]
fdivr dword [esp + 0x14]
fstp dword [eax]
mov eax, dword [ebp + 0x28]
cmp eax, 8
jle 0x5a5c60
cmp eax, 0xc
jne 0x5a597d
movsx eax, si
lea ecx, [eax + eax*2]
neg eax
mov esi, ecx
sar esi, 1
and eax, 1
add esi, eax
jmp 0x5a597f
add esi, esi
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
dec ecx
cmp eax, ecx
mov dword [esp + 0xc], esi
jle 0x5a599c
cmp esi, eax
jg 0x5a59a8
cmp esi, ecx
jge 0x5a59ae
mov esi, ecx
jmp 0x5a59aa
cmp esi, ecx
jle 0x5a59a4
mov esi, ecx
jmp 0x5a59aa
cmp esi, eax
jge 0x5a59ae
mov esi, eax
mov dword [esp + 0xc], esi
lea edi, [esi - 2]
cmp edi, eax
jg 0x5a59b7
mov edi, eax
lea eax, [esi + 2]
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x5a59c6
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0x34]
fld dword [0x65f4c8]
mov ecx, dword [ebp + 0x30]
fstp dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
push eax
push ecx
push esi
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x48]
push edi
push edx
lea eax, [esp + 0x1d9c]
push eax
mov eax, ebx
mov dword [esp + 0x3c], 0
call fcn.005a4c50
mov ecx, dword [ebp + 0x30]
mov edx, dword [esp + 0x54]
push ecx
push esi
push edi
push edx
lea eax, [esp + 0x1310]
push eax
mov ecx, ebx
call fcn.005a4e40
fild dword [esp + 0x38]
add esp, 0x2c
cmp dword [ebp + 0x30], 4
fdivr dword [0x656770]
mov dword [esp + 0x20], 0
fstp dword [esp + 0x58]
jne 0x5a5a5c
movsx ecx, byte [ebx + 0x65f748]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], 0x22
mov dword [esp + 0x40], 0x65f6a8
jmp 0x5a5a71
mov eax, 0xc
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], 0x65f660
mov ebx, dword [ebp + 0x30]
mov eax, dword [ebp + 0x28]
imul esi, ebx
lea edx, [eax + eax*4]
shl edx, 4
add edx, dword [esp + 0x3c]
push esi
push edx
call fcn.005a4a30
add esp, 8
cmp edi, dword [esp + 0x10]
fadd qword [0x6807a0]
mov dword [esp + 0x28], edi
fst qword [esp + 0x30]
jg 0x5a5bd6
fldz
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xc], esi
jle 0x5a5bbd
mov edi, dword [esp + 0x20]
add edi, edi
add edi, edi
fld st(0)
xor edx, edx
cmp ebx, 2
fld st(1)
fld st(2)
fld st(3)
fld st(4)
fld st(6)
jl 0x5a5b14
lea ecx, [ebx - 2]
fstp st(7)
shr ecx, 1
inc ecx
mov eax, edi
lea edx, [ecx + ecx]
fld dword [esp + eax + 0x1d88]
add eax, 0x550
sub ecx, 1
faddp st(3)
fld dword [esp + eax + 0xd98]
faddp st(5)
fld dword [esp + eax + 0x1ae0]
faddp st(2)
fld dword [esp + eax + 0x1040]
faddp st(4)
jne 0x5a5ae0
fld qword [esp + 0x30]
fxch st(7)
cmp edx, ebx
jge 0x5a5b43
mov eax, edx
fstp st(0)
shl eax, 4
fstp st(0)
add eax, edx
mov edx, dword [esp + 0x20]
lea ecx, [esi + eax*2]
lea eax, [edx + ecx*4]
add eax, ecx
add eax, eax
add eax, eax
fld dword [esp + eax + 0x1d88]
fld dword [esp + eax + 0x12e8]
fadd st(7)
fxch st(2)
faddp st(3)
faddp st(2)
fxch st(1)
fcom st(4)
fnstsw ax
test ah, 0x41
jne 0x5a5b6e
fxch st(2)
faddp st(3)
faddp st(2)
fdivrp st(1)
fadd st(0), st(0)
fild dword [esp + 0xc]
fmul dword [esp + 0x58]
fld1
fsubrp st(1)
fmulp st(1)
jmp 0x5a5b78
fstp st(3)
fstp st(1)
fstp st(1)
fstp st(0)
fldz
fld dword [esp + 0x14]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x5a5ba9
movsx edx, byte [esi + 0x65f6a8]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
add edx, ecx
dec eax
cmp edx, eax
jg 0x5a5ba9
fstp dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], esi
jmp 0x5a5bab
fstp st(0)
inc esi
add edi, 0x14
cmp esi, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
jl 0x5a5ac0
mov eax, dword [esp + 0x28]
inc dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
jle 0x5a5aa8
fstp st(0)
xor ecx, ecx
fstp st(0)
test ebx, ebx
jle 0x5a5c2e
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
lea esi, [edx + eax]
mov edx, dword [esp + 0x50]
movsx eax, byte [esi]
mov ebx, dword [esp + 0x18]
add eax, ebx
mov ebx, dword [esp + 0x54]
cmp edx, ebx
mov dword [edi + ecx*4], eax
jle 0x5a5c11
cmp eax, edx
jg 0x5a5c1d
cmp eax, ebx
jge 0x5a5c1f
mov eax, ebx
jmp 0x5a5c1f
cmp eax, ebx
jle 0x5a5c19
mov eax, ebx
jmp 0x5a5c1f
cmp eax, edx
jge 0x5a5c1f
mov eax, edx
add esi, dword [esp + 0x1c]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, dword [ebp + 0x30]
jl 0x5a5bf1
jmp 0x5a5c32
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
sub eax, edx
mov edx, dword [esp + 0x48]
mov word [ecx], ax
mov al, byte [esp + 0x24]
mov byte [edx], al
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x3210]
xor ecx, esp
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x30]
xor eax, eax
test edi, edi
jle 0x5a5cad
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc]
add edx, ecx
jmp 0x5a5c80
movsx ecx, byte [edx]
add ecx, ebx
cmp ecx, 0x90
mov dword [esi + eax*4], ecx
jle 0x5a5c97
mov ecx, 0x90
jmp 0x5a5ca1
cmp ecx, 0x10
jge 0x5a5ca1
mov ecx, 0x10
add edx, dword [esp + 0x1c]
mov dword [esi + eax*4], ecx
inc eax
cmp eax, edi
jl 0x5a5c80
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
add edx, 0xfffffff0
mov word [eax], dx
mov dl, byte [esp + 0x24]
pop edi
mov byte [ecx], dl
mov ecx, dword [esp + 0x3218]
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.005bfcb8
mov esp, ebp
pop ebp
ret