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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x3214
call fcn.00598f80
mov eax, dword [0x64786c]
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 0x5918a5
mov eax, edi
lea esi, [esp + 0x2d18]
call fcn.00581a50
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.00595cd0
lea ecx, [esp + 0xdf8]
push ecx
mov edx, ebx
lea edi, [esp + 0x296c]
call fcn.005912f0
add esp, 0x14
jmp 0x591917
cmp esi, 0xc
jne 0x591909
mov eax, edi
lea esi, [esp + 0x2d18]
call fcn.00581a50
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.00595a20
lea edx, [esp + 0xdf8]
push edx
mov edx, ebx
lea edi, [esp + 0x296c]
call fcn.005912f0
add esp, 0x14
jmp 0x591917
mov eax, ebx
lea esi, [esp + 0x2958]
call fcn.00581a50
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.00595cd0
mov esi, dword [esp + 0x40]
lea eax, [esp + 0xb78]
push eax
mov edx, esi
lea edi, [esp + 0x2bec]
call fcn.005912f0
dec esi
add esp, 0x14
test esi, esi
jle 0x5919c1
fld dword [0x603d04]
fld dword [0x603d08]
fld dword [esp + esi*4 + 0xb68]
call fcn.0059c610
mov dword [esp + 0x30], eax
fild dword [esp + 0x30]
fadd dword [esp + esi*4 + 0xb64]
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x591994
fstp st(0)
fld st(1)
jmp 0x5919a1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x5919a1
fstp st(0)
fld st(0)
call fcn.0059c610
movsx ecx, ax
mov dword [esp + 0x30], ecx
dec esi
fild dword [esp + 0x30]
fstp dword [esp + esi*4 + 0xb6c]
test esi, esi
jg 0x59196a
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.00597130
mov eax, esi
sar eax, 1
add esp, 0xc
test eax, eax
jle 0x591b7f
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.0057e2d0
fld dword [esp + 0x228]
push 0x28
fstp qword [esp + 0x7c]
push edi
call fcn.005911e0
fstp qword [esp + 0x50]
push 0x28
push ebx
call fcn.005911e0
fadd qword [esp + 0x58]
add esp, 0x28
mov eax, 9
fadd qword [0x60cc70]
lea ecx, [esp + 0x204]
fld qword [esp + 0x60]
fdiv st(1)
fld qword [0x631698]
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 0x591a6e
cmp eax, 0x48
jg 0x591b6a
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 0x591b36
fstp st(0)
add ebx, 0xa0
sub dword [esp + 0x10], 1
fstp st(0)
jne 0x5919f6
fld dword [0x60a100]
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 0x591b8e
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.005957a0
fld dword [0x603d3c]
fld dword [esp + 0x248]
add esp, 0x10
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x591c3a
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.00597130
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.0059709c
mov esp, ebp
pop ebp
ret
fmul dword [ebp + 0x20]
xor edx, edx
test esi, esi
jle 0x591c71
xor ecx, ecx
fcom dword [esp + ecx + 0x238]
fnstsw ax
test ah, 5
jp 0x591c6f
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 0x591c45
jmp 0x591c71
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 0x591cae
mov ecx, dword [esp + eax*4 + 0xb0]
inc eax
cmp eax, esi
mov edx, 1
mov word [esp + ecx*2 + 0x2828], dx
jl 0x591c95
mov eax, 0x92
jmp 0x591cc0
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 0x591cc0
xor ecx, ecx
mov eax, 0x10
cmp word [esp + eax*2 + 0x282a], 0
jle 0x591cf8
mov dword [esp + ecx*4 + 0xb0], eax
inc ecx
inc eax
cmp eax, 0x90
jl 0x591ce5
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 0x591d10
xor esi, esi
mov eax, 0x10
lea ecx, [ecx]
cmp word [esp + eax*2 + 0x2828], 0
jle 0x591d47
lea ecx, [eax - 2]
mov word [esp + esi*2 + 0x2828], cx
inc esi
inc eax
cmp eax, 0x93
jl 0x591d30
push 0x950
lea edx, [esp + 0x21c]
push 0
push edx
mov dword [esp + 0x28], esi
call fcn.00597130
mov edi, dword [ebp + 0x28]
add esp, 0xc
cmp edi, 8
jne 0x591d7e
mov ebx, dword [esp + 0x3c]
add ebx, 0x280
jmp 0x591d85
lea ebx, [esp + 0x1068]
cmp dword [ebp + 0x30], 0
fldz
jle 0x591dda
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.005911e0
fadd qword [0x631630]
add esp, 8
mov dword [esp + 0xc], 0
fstp qword [esp + 0x30]
test esi, esi
jg 0x591e24
fldz
add dword [esp + 0x14], 0x95
add ebx, 0xa0
sub dword [esp + 0x18], 1
jne 0x591da0
mov eax, dword [ebp + 0x1c]
fst dword [esp + 0x14]
fld dword [0x60cc68]
mov dword [esp + 0x24], 0
fstp dword [esp + 0x30]
mov dword [esp + 0xc], 0xffffffff
test eax, eax
jle 0x591ec7
cmp edi, 0xc
jne 0x591ea8
lea ecx, [eax + eax]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
jmp 0x591eaf
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.00595660
add esp, 0xc
fldz
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x591e7c
fadd st(0), st(0)
push 0x28
push esi
fstp qword [esp + 0x68]
call fcn.005911e0
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 0x591e8d
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 0x591e22
mov edi, dword [ebp + 0x28]
mov esi, dword [esp + 0x1c]
jmp 0x591dc5
cmp edi, 0x10
jne 0x591eb2
sar eax, 1
mov dword [ebp + 0x1c], eax
fild dword [ebp + 0x1c]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x60a128]
fstp dword [esp + 0x60]
jmp 0x591ecb
fst dword [esp + 0x60]
cmp dword [ebp + 0x30], 4
jne 0x591ef5
mov ebx, 0xb
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], 0x60ce1c
cmp edi, 8
jne 0x591eee
cmp dword [esp + 0x5c], 0
jg 0x591f06
mov ebx, 3
jmp 0x591f06
mov ebx, 3
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x40], 0x60cdf8
cmp dword [esp + 0x10], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x18], 0
jle 0x59204f
fild dword [ebp + 0x30]
fld dword [0x631728]
fld dword [0x603d3c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + ecx*4 + 0xb0]
xor esi, esi
mov dword [esp + 0x28], edx
test ebx, ebx
jle 0x591f8e
lea edi, [esp + 0x84]
cmp dword [ebp + 0x30], 0
fxch st(3)
fst dword [edi]
jle 0x591f84
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 0x591f5f
mov ebx, dword [esp + 0x2c]
fstp dword [edi]
inc esi
fxch st(3)
add edi, 4
cmp esi, ebx
jl 0x591f48
fld dword [0x60cc68]
xor edx, edx
xor ecx, ecx
test ebx, ebx
jle 0x591fba
fcom dword [esp + ecx*4 + 0x84]
fnstsw ax
test ah, 5
jp 0x591fb5
fstp st(0)
mov edx, ecx
fld dword [esp + ecx*4 + 0x84]
inc ecx
cmp ecx, ebx
jl 0x591f9c
cmp dword [ebp + 0x1c], 0
fild dword [esp + 0x28]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x60a128]
fld st(4)
fmul st(1)
fmul st(3)
fsubr st(2)
jle 0x591ff6
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 0x591ff8
fstp st(1)
fld dword [esp + 0x30]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x592029
fld st(4)
fmul dword [ebp + 0x24]
fcomp st(2)
fnstsw ax
test ah, 5
jp 0x592029
mov esi, dword [esp + 0x28]
fstp dword [esp + 0x30]
mov dword [esp + 0xc], esi
fstp dword [esp + 0x14]
mov dword [esp + 0x24], edx
jmp 0x592031
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 0x591f2c
fstp st(0)
fstp st(0)
cmp esi, 0xffffffff
jne 0x59208d
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.0059709c
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 0x5923a0
cmp eax, 0xc
jne 0x5920bd
movsx eax, si
lea ecx, [eax + eax*2]
neg eax
mov esi, ecx
sar esi, 1
and eax, 1
add esi, eax
jmp 0x5920bf
add esi, esi
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
dec ecx
cmp eax, ecx
mov dword [esp + 0xc], esi
jle 0x5920dc
cmp esi, eax
jg 0x5920e8
cmp esi, ecx
jge 0x5920ee
mov esi, ecx
jmp 0x5920ea
cmp esi, ecx
jle 0x5920e4
mov esi, ecx
jmp 0x5920ea
cmp esi, eax
jge 0x5920ee
mov esi, eax
mov dword [esp + 0xc], esi
lea edi, [esi - 2]
cmp edi, eax
jg 0x5920f7
mov edi, eax
lea eax, [esi + 2]
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x592106
mov dword [esp + 0x10], ecx
mov eax, dword [ebp + 0x34]
fld dword [0x60cc68]
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.00591390
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.00591580
fild dword [esp + 0x38]
add esp, 0x2c
cmp dword [ebp + 0x30], 4
fdivr dword [0x603f10]
mov dword [esp + 0x20], 0
fstp dword [esp + 0x58]
jne 0x59219c
movsx ecx, byte [ebx + 0x60cee8]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x1c], 0x22
mov dword [esp + 0x40], 0x60ce48
jmp 0x5921b1
mov eax, 0xc
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], 0x60ce00
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.005911e0
add esp, 8
cmp edi, dword [esp + 0x10]
fadd qword [0x631630]
mov dword [esp + 0x28], edi
fst qword [esp + 0x30]
jg 0x592316
fldz
xor esi, esi
cmp dword [esp + 0x2c], esi
mov dword [esp + 0xc], esi
jle 0x5922fd
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 0x592254
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 0x592220
fld qword [esp + 0x30]
fxch st(7)
cmp edx, ebx
jge 0x592283
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 0x5922ae
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 0x5922b8
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 0x5922e9
movsx edx, byte [esi + 0x60ce48]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x54]
add edx, ecx
dec eax
cmp edx, eax
jg 0x5922e9
fstp dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], esi
jmp 0x5922eb
fstp st(0)
inc esi
add edi, 0x14
cmp esi, dword [esp + 0x2c]
mov dword [esp + 0xc], esi
jl 0x592200
mov eax, dword [esp + 0x28]
inc dword [esp + 0x20]
inc eax
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x28], eax
jle 0x5921e8
fstp st(0)
xor ecx, ecx
fstp st(0)
test ebx, ebx
jle 0x59236e
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 0x592351
cmp eax, edx
jg 0x59235d
cmp eax, ebx
jge 0x59235f
mov eax, ebx
jmp 0x59235f
cmp eax, ebx
jle 0x592359
mov eax, ebx
jmp 0x59235f
cmp eax, edx
jge 0x59235f
mov eax, edx
add esi, dword [esp + 0x1c]
mov dword [edi + ecx*4], eax
inc ecx
cmp ecx, dword [ebp + 0x30]
jl 0x592331
jmp 0x592372
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.0059709c
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x30]
xor eax, eax
test edi, edi
jle 0x5923ed
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc]
add edx, ecx
jmp 0x5923c0
movsx ecx, byte [edx]
add ecx, ebx
cmp ecx, 0x90
mov dword [esi + eax*4], ecx
jle 0x5923d7
mov ecx, 0x90
jmp 0x5923e1
cmp ecx, 0x10
jge 0x5923e1
mov ecx, 0x10
add edx, dword [esp + 0x1c]
mov dword [esi + eax*4], ecx
inc eax
cmp eax, edi
jl 0x5923c0
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.0059709c
mov esp, ebp
pop ebp
ret