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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x589997
sub esp, 0xc0
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 8]
test ecx, ecx
jne 0x589731
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x2c]
lea ecx, [ecx + edx*2]
add ecx, dword [eax + 0x38]
movzx edx, byte [eax + 0x4c]
movzx ebx, byte [eax + 0x40]
test dl, dl
je 0x589728
lea edx, [ebx + 1]
mov ebx, 5
mov ebp, dword [eax + 0x48]
test ebp, ebp
jle 0x588ae7
lea ebx, [ebx + ebp + 5]
inc edx
mov ebp, dword [eax + 0x54]
test ebp, ebp
jle 0x588af3
lea ebx, [ebx + ebp*2 + 2]
inc edx
mov ebp, dword [eax + 0x60]
test ebp, ebp
jle 0x588aff
lea ebx, [ebp + ebx + 1]
inc edx
movzx ebp, byte [eax + 0x68]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x588b0f
mov ebp, dword [eax + 0x70]
add ebx, ebp
inc edx
mov ebp, dword [eax + 0x7c]
test ebp, ebp
jle 0x588b1b
lea ebx, [ebx + ebp*2 + 2]
inc edx
movzx ebp, byte [eax + 0x90]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x588b33
mov ebp, dword [eax + 0x88]
lea ebx, [ebp + ebx + 1]
inc edx
mov ebp, dword [eax + 0x94]
mov esi, dword [eax + 0x98]
test esi, esi
jle 0x588b78
mov dword [esp + 0x60], ecx
add ebx, 2
xor edi, edi
jmp 0x588b57
inc edi
lea ebx, [ecx + ebx + 1]
mov ecx, dword [esp + 0x60]
cmp edi, esi
jge 0x588b77
lea ecx, [ebp + edi*8]
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x58997d
cmp ecx, 0xff
jle 0x588b4e
jmp 0x58997d
inc edx
movzx ebp, byte [eax + 0x4d]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x588b83
inc edx
mov dword [esp + 0x30], edx
lea ebp, [ecx + 0x26]
test edx, edx
jle 0x589721
lea ebx, [ebx + edx*4]
lea ecx, [ebx + ecx + 0x28]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], ebx
lea eax, [0x7b4b60]
mov dword [esp], eax
lea eax, [ecx + 4]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00438a20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jbe 0x589976
mov byte [eax], 1
cmp ecx, 1
jbe 0x58996f
mov ebx, dword [esp + 0x34]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp ecx, 2
jbe 0x589968
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp ecx, 3
jbe 0x589961
mov byte [eax + 3], bl
mov edi, dword [esp + 0xc4]
movzx ebx, word [edi + 0xc]
cmp ecx, 4
jbe 0x58995a
shr bx, 8
mov byte [eax + 4], bl
movzx ebx, word [edi + 0xc]
cmp ecx, 5
jbe 0x589953
mov byte [eax + 5], bl
cmp edx, 0x26
jb 0x58994c
mov ebx, dword [edi + 0x14]
mov ebp, dword [edi + 0x10]
cmp ebx, 0x20
jge 0x589717
mov dword [esp + 0xa0], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
lea esi, [eax + 6]
cmp ebp, esi
je 0x588c70
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.0044d190
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x20]
mov edx, dword [esp + 0x24]
cmp edx, 0x26
jbe 0x589945
mov eax, dword [esp + 0xa0]
mov byte [eax + 0x26], cl
mov ecx, dword [edi + 0x20]
lea ebx, [ecx + 0x27]
mov ebp, dword [edi + 0x1c]
cmp ebx, 0x27
jb 0x58993e
mov esi, dword [esp + 0x28]
cmp ebx, esi
ja 0x58993e
lea ebx, [esi - 0x27]
neg ebx
sar ebx, 0x1f
and ebx, 0x27
add ebx, eax
cmp ebx, ebp
je 0x588cd0
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.0044d190
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x20]
add ecx, 0x27
mov edx, dword [esp + 0x24]
cmp ecx, edx
ja 0x589937
mov ebx, dword [esp + 0x28]
sub ebx, ecx
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov eax, dword [esp + 0xa0]
lea ebp, [ebx + eax]
sub edx, ecx
mov ecx, dword [edi + 0x2c]
test edx, edx
jbe 0x589930
sar ecx, 7
mov byte [eax + ebx], cl
mov ecx, dword [edi + 0x2c]
cmp edx, 1
jbe 0x589929
mov dword [esp + 0x60], esi
shl ecx, 1
mov byte [eax + ebx + 1], cl
mov ecx, dword [edi + 0x28]
mov dword [esp + 0xbc], ecx
mov ebx, dword [edi + 0x2c]
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
jmp 0x588d6f
mov byte [esi + ebp + 3], bl
mov ecx, dword [esp + 0x38]
inc ecx
mov ebx, dword [esp + 0x5c]
mov esi, dword [esp + 0xbc]
mov esi, dword [esp + 0x60]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0x38]
cmp esi, ebx
jge 0x588d9e
movzx ecx, word [ecx + esi*2]
shl esi, 1
lea ebx, [esi + 2]
cmp ebx, edx
jae 0x589922
mov ebx, ecx
shr cx, 8
mov byte [esi + ebp + 2], cl
lea ecx, [esi + 3]
cmp ecx, edx
jb 0x588d4c
jmp 0x58991b
mov ecx, dword [edi + 0x2c]
shl ecx, 1
add ecx, 2
cmp ecx, edx
ja 0x589914
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov dword [esp + 0x20], ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
lea esi, [ebx + ebp]
sub edx, ecx
mov ecx, dword [edi + 0x38]
test edx, edx
jbe 0x58990d
mov dword [esp + 0x9c], esi
mov byte [ebp + ebx], cl
mov ecx, dword [esp + 0x20]
lea ebx, [ecx - 1]
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, esi
lea ebp, [edx - 1]
mov esi, dword [edi + 0x38]
mov ecx, dword [edi + 0x34]
cmp ebp, esi
jle 0x589710
mov dword [esp + 0x1c], edx
cmp ecx, ebx
je 0x588e14
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0044d190
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x38]
inc ecx
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x589906
mov ebx, dword [esp + 0x20]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x9c]
mov eax, ebp
lea ebp, [ebx + esi]
sub edx, ecx
mov ecx, dword [esp + 0x30]
test ecx, ecx
jle 0x589707
test edx, edx
jbe 0x5898ff
mov ecx, dword [esp + 0x3c]
sar ecx, 8
mov byte [esi + ebx], cl
cmp edx, 1
jbe 0x5898f8
mov ecx, dword [esp + 0x3c]
mov byte [esi + ebx + 1], cl
lea ecx, [eax - 2]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebp
add edx, 0xfffffffe
movzx ebp, byte [edi + 0x40]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x589700
test edx, edx
jbe 0x5898f1
mov byte [ecx], 0x33
cmp edx, 1
jbe 0x5898ea
mov byte [ecx + 1], 0x74
cmp edx, 4
jb 0x5898e3
add ebx, 0xfffffffc
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ecx, ebx
add edx, 0xfffffffc
mov ebx, dword [edi + 0x48]
test ebx, ebx
jg 0x5895b6
movzx ebx, byte [edi + 0x4c]
test bl, bl
je 0x588f37
test edx, edx
jbe 0x58989d
mov byte [ecx], 0
cmp edx, 1
jbe 0x589896
mov byte [ecx + 1], 5
cmp edx, 2
jbe 0x58988f
mov byte [ecx + 2], 0
cmp edx, 3
jbe 0x589888
mov byte [ecx + 3], 5
cmp edx, 4
jbe 0x589881
mov byte [ecx + 4], 1
cmp edx, 9
jb 0x58987a
lea ebx, [ebp - 9]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 9
add ecx, ebx
add edx, 0xfffffff7
mov ebx, dword [edi + 0x54]
test ebx, ebx
jle 0x58901b
test edx, edx
jbe 0x589873
mov byte [ecx], 0
cmp edx, 1
jbe 0x58986c
mov byte [ecx + 1], 0xa
mov ebx, dword [edi + 0x54]
cmp edx, 2
jbe 0x589865
shl ebx, 1
lea esi, [ebx + 2]
mov eax, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x58985e
mov byte [ecx + 3], al
cmp edx, 4
jbe 0x589857
mov esi, ebx
sar ebx, 8
mov byte [ecx + 4], bl
cmp edx, 5
jbe 0x589850
xchg esi, eax
mov byte [ecx + 5], al
xchg esi, eax
lea ebx, [ebp - 6]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 6
add ecx, ebx
add edx, 0xfffffffa
mov ebx, dword [edi + 0x54]
mov esi, dword [edi + 0x50]
mov dword [esp + 0xb8], esi
xor eax, eax
jmp 0x588ff4
movzx esi, word [esp + 0x1a]
xchg esi, eax
mov byte [ecx + 1], al
xchg esi, eax
inc eax
add ebp, 0xfffffffe
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
add ecx, ebp
add edx, 0xfffffffe
mov ebp, dword [esp + 0xb8]
mov ebp, esi
mov esi, dword [esp + 0xb8]
cmp eax, ebx
jge 0x58901b
movzx esi, word [esi + eax*2]
test edx, edx
jbe 0x589849
mov word [esp + 0x1a], si
shr si, 8
xchg esi, eax
mov byte [ecx], al
xchg esi, eax
cmp edx, 1
ja 0x588fc3
jmp 0x589842
mov ebx, dword [edi + 0x60]
test ebx, ebx
jle 0x5890c8
test edx, edx
jbe 0x58983b
mov byte [ecx], 0
cmp edx, 1
jbe 0x589834
mov byte [ecx + 1], 0xb
mov ebx, dword [edi + 0x60]
cmp edx, 2
jbe 0x58982d
lea esi, [ebx + 1]
mov eax, esi
sar esi, 8
xchg esi, eax
mov byte [ecx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x589826
mov byte [ecx + 3], al
cmp edx, 4
jbe 0x58981f
mov byte [ecx + 4], bl
lea ebx, [ebp - 5]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 5
add ecx, ebx
add edx, 0xfffffffb
mov ebx, dword [edi + 0x5c]
mov dword [esp + 0xb4], ebx
mov esi, dword [edi + 0x60]
xor eax, eax
jmp 0x5890b7
mov byte [ecx], bl
inc eax
dec ebp
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ecx, ebp
dec edx
mov ebp, dword [esp + 0xb4]
mov ebp, ebx
mov ebx, dword [esp + 0xb4]
cmp eax, esi
jge 0x5890c8
movzx ebx, byte [ebx + eax]
test edx, edx
ja 0x589092
jmp 0x589818
movzx ebx, byte [edi + 0x68]
test bl, bl
je 0x5895af
test edx, edx
jbe 0x589811
mov byte [ecx], 0
cmp edx, 1
jbe 0x58980a
mov byte [ecx + 1], 0x23
mov ebx, dword [edi + 0x70]
cmp edx, 2
jbe 0x589803
mov esi, ebx
sar ebx, 8
mov byte [ecx + 2], bl
cmp edx, 3
jbe 0x5897fc
xchg esi, eax
mov byte [ecx + 3], al
xchg esi, eax
lea ebx, [ebp - 4]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 4
add ecx, ebx
add edx, 0xfffffffc
mov ebx, dword [edi + 0x70]
mov esi, dword [edi + 0x6c]
cmp edx, ebx
jle 0x5895a8
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x9c], ecx
cmp esi, ecx
je 0x589151
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.0044d190
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x70]
mov edx, dword [esp + 0x58]
cmp ecx, edx
ja 0x5897f5
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x9c]
add ebx, esi
sub edx, ecx
mov ecx, dword [edi + 0x7c]
test ecx, ecx
jle 0x58959d
test edx, edx
jbe 0x5897ee
mov byte [ebx], 0
cmp edx, 1
jbe 0x5897e7
mov byte [ebx + 1], 0xd
mov ecx, dword [edi + 0x7c]
cmp edx, 2
jbe 0x5897e0
shl ecx, 1
lea esi, [ecx + 2]
mov eax, esi
sar esi, 8
xchg esi, eax
mov byte [ebx + 2], al
xchg esi, eax
cmp edx, 3
jbe 0x5897d9
mov dword [esp + 0x54], edx
mov byte [ebx + 3], al
lea esi, [ebp - 4]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 4
mov eax, ebp
lea ebp, [ebx + esi]
add edx, 0xfffffffc
test edx, edx
jbe 0x5897d2
mov dword [esp + 0x60], ecx
sar ecx, 8
mov byte [ebx + esi], cl
cmp edx, 1
jbe 0x5897cb
mov ecx, dword [esp + 0x60]
mov byte [ebx + esi + 1], cl
lea ecx, [eax - 6]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebp
mov ebx, dword [esp + 0x54]
add ebx, 0xfffffffa
mov ebp, dword [edi + 0x7c]
mov esi, dword [edi + 0x78]
mov dword [esp + 0xb0], esi
xor eax, eax
jmp 0x58925d
movzx esi, word [esp + 0x18]
xchg esi, eax
mov byte [ecx + 1], al
xchg esi, eax
inc eax
add edx, 0xfffffffe
mov esi, edx
neg edx
sar edx, 0x1f
and edx, 2
add ecx, edx
add ebx, 0xfffffffe
mov edx, dword [esp + 0xb0]
mov edx, esi
mov esi, dword [esp + 0xb0]
cmp eax, ebp
jge 0x589284
movzx esi, word [esi + eax*2]
test ebx, ebx
jbe 0x5897c4
mov word [esp + 0x18], si
shr si, 8
xchg esi, eax
mov byte [ecx], al
xchg esi, eax
cmp ebx, 1
ja 0x589230
jmp 0x5897bd
movzx ebp, byte [edi + 0x90]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x589592
test ebx, ebx
jbe 0x5897b6
mov byte [ecx], 0xff
cmp ebx, 1
jbe 0x5897af
mov byte [ecx + 1], 1
cmp ebx, 2
jbe 0x5897a8
mov byte [ecx + 2], 0
mov ebp, dword [edi + 0x88]
cmp ebx, 3
jbe 0x5897a1
inc ebp
xchg ebp, eax
mov byte [ecx + 3], al
xchg ebp, eax
mov ebp, dword [edi + 0x88]
cmp ebx, 4
jbe 0x58979a
xchg ebp, eax
mov byte [ecx + 4], al
xchg ebp, eax
add edx, 0xfffffffb
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, 5
add ecx, edx
lea edx, [ebx - 5]
mov ebx, dword [edi + 0x88]
mov esi, dword [edi + 0x84]
cmp edx, ebx
jle 0x58958b
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x9c], ecx
cmp esi, ecx
je 0x58932c
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.0044d190
mov edi, dword [esp + 0xc4]
mov ecx, dword [edi + 0x88]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x589793
mov ebx, dword [esp + 0x60]
sub ebx, ecx
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, ecx
mov esi, dword [esp + 0x9c]
add ebx, esi
sub edx, ecx
mov ecx, dword [edi + 0x98]
test ecx, ecx
jle 0x589585
test edx, edx
jbe 0x58978c
mov byte [ebx], 0
cmp edx, 1
jbe 0x589785
mov byte [ebx + 1], 0x10
cmp edx, 6
jb 0x58977e
mov dword [esp + 0xac], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], ebp
lea ecx, [ebp - 6]
mov esi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 6
add ecx, ebx
mov eax, ebx
lea ebx, [edx - 6]
mov ebp, dword [edi + 0x98]
mov dword [esp + 0x60], ebp
mov edx, dword [edi + 0x94]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x6c], eax
xor eax, eax
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x6c]
jmp 0x589434
mov eax, dword [esp + 0x5c]
inc eax
mov esi, dword [esp + 0x58]
sub esi, edx
mov ebp, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
mov edi, dword [esp + 0xa4]
add esi, edi
sub ebx, edx
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + edx + 1]
mov edx, dword [esp + 0x60]
mov edi, dword [esp + 0xa8]
mov edx, edi
mov edi, dword [esp + 0xc4]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x2c], ecx
mov ecx, esi
mov esi, ebp
mov eax, dword [esp + 0xac]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x5c]
cmp esi, ebp
jge 0x5894bb
lea edx, [edx + esi*8]
mov ebp, dword [edx + 4]
mov edx, dword [edx]
test ebx, ebx
jbe 0x589777
mov dword [esp + 0xa4], ecx
xchg ebp, eax
mov byte [ecx], al
xchg ebp, eax
mov esi, dword [esp + 0x58]
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add esi, ecx
lea ecx, [ebx - 1]
cmp ecx, ebp
jle 0x5894ab
mov ecx, ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], ebx
cmp esi, edx
je 0x589493
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.0044d190
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x48]
cmp edx, ebx
jbe 0x5893de
jmp 0x589770
mov dword [esp + 0x64], eax
mov eax, ecx
mov ecx, ebp
mov ebp, eax
mov eax, dword [esp + 0x64]
jmp 0x589477
mov edx, dword [esp + 0x4c]
add edx, 0xfffffffe
cmp edx, 2
jbe 0x589769
mov ebp, dword [esp + 0x20]
add ebp, 0xfffffffe
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 2
mov esi, dword [esp + 0x2c]
sar esi, 8
xchg esi, ebx
mov byte [eax + ebp + 2], bl
xchg esi, ebx
cmp edx, 3
jbe 0x589762
mov edx, dword [esp + 0x2c]
mov byte [eax + ebp + 3], dl
add edx, 2
mov esi, edx
sar edx, 8
mov byte [eax + ebp], dl
xchg esi, ebx
mov byte [eax + ebp + 1], bl
xchg esi, ebx
movzx edx, byte [edi + 0x4d]
test dl, dl
je 0x58953a
test ebx, ebx
jbe 0x58975b
mov byte [ecx], 0
cmp ebx, 1
jbe 0x589754
mov byte [ecx + 1], 0x12
cmp ebx, 4
jb 0x58974d
mov ecx, dword [esp + 0x24]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x28]
mov dword [edi + 8], edx
mov ebx, dword [0xb92b90]
test ebx, ebx
jne 0x589577
mov eax, dword [esp + 0xa0]
mov dword [edi], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
add esp, 0xc0
ret
mov eax, dword [esp + 0xa0]
call fcn.0044c990
jmp 0x58955b
mov ecx, ebx
mov ebx, edx
jmp 0x589511
mov ebx, edx
jmp 0x589309
mov ebp, edx
mov edx, ebx
mov ebx, ecx
jmp 0x58935f
mov ecx, ebx
mov ebx, edx
mov edx, ebp
jmp 0x589284
mov ebx, edx
jmp 0x58912e
mov ebx, ecx
jmp 0x589181
test edx, edx
jbe 0x5898dc
mov byte [ecx], 0
cmp edx, 1
jbe 0x5898d5
mov byte [ecx + 1], 0
mov eax, dword [edi + 0x48]
cmp edx, 2
jbe 0x5898ce
add eax, 5
mov ebx, eax
sar eax, 8
mov byte [ecx + 2], al
cmp edx, 3
jbe 0x5898c7
mov dword [esp + 0x60], ebx
mov dword [esp + 0x44], edx
mov byte [ecx + 3], bl
lea eax, [ebp - 4]
mov dword [esp + 0x20], eax
neg eax
sar eax, 0x1f
and eax, 4
lea esi, [ecx + eax]
lea ebx, [edx - 4]
mov edx, dword [edi + 0x48]
test ebx, ebx
jbe 0x5898c0
add edx, 3
sar edx, 8
mov byte [ecx + eax], dl
mov edx, dword [edi + 0x48]
cmp ebx, 1
jbe 0x5898b9
add edx, 3
mov byte [ecx + eax + 1], dl
mov edx, dword [edi + 0x48]
cmp ebx, 3
jbe 0x5898b2
sar edx, 8
mov byte [ecx + eax + 3], dl
mov edx, dword [edi + 0x48]
cmp ebx, 4
jbe 0x5898ab
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x9c], esi
mov dword [esp + 0x40], ebp
mov byte [ecx + eax + 4], dl
mov eax, dword [edi + 0x48]
mov ecx, dword [edi + 0x44]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [esp + 0x7c]
mov dword [esp], eax
call fcn.0043c000
mov eax, dword [esp + 0x40]
add eax, 0xfffffff7
neg eax
sar eax, 0x1f
and eax, 5
mov ecx, dword [esp + 0x9c]
add eax, ecx
mov edx, dword [esp + 0x44]
add edx, 0xfffffff7
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
cmp edx, ebp
jle 0x5896fc
cmp ebx, eax
je 0x5896c0
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.0044d190
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
cmp ecx, edx
ja 0x5898a4
sub edx, ecx
mov ebp, dword [esp + 0x20]
sub ebp, ecx
mov ebx, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
mov esi, dword [esp + 0x9c]
add ecx, esi
mov edi, dword [esp + 0xc4]
mov ebp, ebx
jmp 0x588ed5
mov ebp, edx
jmp 0x5896ac
mov ebp, ebx
jmp 0x588eca
mov ebx, eax
mov ecx, ebp
jmp 0x588e89
mov esi, ebp
jmp 0x588dfc
mov ebx, 0x20
jmp 0x588c4a
mov ecx, ebp
jmp 0x588b99
mov edx, ebx
xor ebx, ebx
jmp 0x588adb
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
add esp, 0xc0
ret
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004265e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
call fcn.004264e0
ud2
lea eax, [0x7b48a0]
mov dword [esp], eax
lea eax, [0x8b0d98]
mov dword [esp + 4], eax
call fcn.004273c0
ud2
call fcn.0044b230
jmp fcn.00588a80