Function at 0x5debd3
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80
mov eax, dword [0x10148050]
xor eax, ebp
mov dword [ebp - 4], eax
fldz
push ebx
push esi
mov esi, dword [ebp + 8]
or eax, 0xffffffff
fst dword [esi + 0x659c]
xor ebx, ebx
fst dword [esi + 0x6598]
xor edx, edx
fst dword [esi + 0x6594]
push 0x80
fstp dword [esi + 0x6590]
mov dword [esi + 0x66b0], edx
mov dword [esi + 0x65b0], eax
mov dword [esi + 0x66c8], eax
mov dword [esi + 0x66cc], eax
xor eax, eax
xor ecx, ecx
lea edx, [esi + 0x662c]
push ebx
push edx
mov word [esi + 0xe766], ax
mov dword [esi + 0x65e4], ebx
mov word [esi + 0x66c2], cx
mov dword [esi + 0x66b8], ecx
mov dword [esi + 0x66b4], eax
mov dword [esi + 0x65fc], ebx
mov byte [esi + 0x6505], al
mov byte [esi + 0x64c5], al
mov byte [esi + 0x6485], al
mov byte [esi + 0x6545], al
mov byte [esi + 0x6285], al
mov byte [esi + 0x6280], al
mov dword [esi + 0x65b8], ebx
call fcn.005778d3
push 0x80
lea eax, [esi + 0x66e4]
push ebx
push eax
call fcn.005778d3
fld1
mov eax, 1
fstp qword [esi + 0x66d8]
fldz
mov dword [esi + 0x6608], eax
mov dword [esi + 0x6604], eax
mov dword [esi + 0x6614], eax
mov eax, closesocket
add esp, 0x18
xor ecx, ecx
mov dword [esi + 0x6628], eax
mov dword [esi + 0x6624], eax
mov dword [esi + 0x66c4], ecx
mov dword [esi + 0x65d0], ebx
mov dword [esi + 0x65c4], ebx
mov dword [esi + 0x2e800], ebx
mov dword [esi + 0x2e7fc], ebx
mov dword [esi + 0x2e7f4], 0x1008a7b0
mov dword [esi + 0x65f4], ebx
mov dword [esi + 0x65f0], ebx
mov dword [esi + 0x65d4], ebx
mov dword [esi + 0x65c0], ebx
mov dword [esi + 0x66ac], ebx
mov dword [esi + 0x6618], ebx
mov dword [esi + 0x6610], ebx
mov dword [esi + 0x65ac], ebx
mov dword [esi + 0x661c], ebx
mov dword [esi + 0x65f8], ebx
mov dword [esi + 0x65ec], ebx
mov dword [esi + 0x65a8], ebx
mov dword [esi + 0x65a0], ebx
mov dword [esi + 0x65a4], ebx
mov dword [esi + 0x660c], ebx
mov dword [esi + 0x6620], ebx
mov dword [esi + 0x65d8], ebx
mov dword [esi + 0x6600], ebx
lea eax, [esi + 0xe784]
xor edx, edx
cmp ecx, 1
sete dl
cmp ecx, 3
mov dword [ebp - 0x78], edx
fild dword [ebp - 0x78]
sbb edx, edx
neg edx
mov dword [ebp - 0x78], edx
xor edx, edx
fstp dword [eax - 0x10]
fild dword [ebp - 0x78]
cmp ecx, ebx
sete dl
fstp dword [eax]
fst dword [eax + 0x10]
fst dword [eax + 0x20]
fst dword [eax + 0x30]
mov dword [ebp - 0x78], edx
fild dword [ebp - 0x78]
xor edx, edx
cmp ecx, 1
sete dl
fstp dword [eax + 0x40]
mov dword [ebp - 0x78], edx
fild dword [ebp - 0x78]
xor edx, edx
cmp ecx, 2
sete dl
fstp dword [eax + 0x50]
inc ecx
add eax, 4
mov dword [ebp - 0x78], edx
fild dword [ebp - 0x78]
fstp dword [eax + 0x5c]
cmp ecx, 4
jb 0x5ded6d
fstp st(0)
mov dword [esi + 0x66d0], 3
mov dword [esi + 0x65f0], 0xc
xor eax, eax
lea ecx, [esi + 0x6764]
lea esp, [esp]
mov word [ecx], ax
inc eax
add ecx, 2
cmp eax, 0x4000
jb 0x5dedf3
push edi
push esi
call fcn.005c5ce3
push esi
mov word [esi + 0x6274], ax
call fcn.005c5d83
mov ecx, dword [esi + 4]
push ebx
mov edi, eax
mov eax, dword [esi]
mov edx, dword [eax + 8]
push ebx
push ecx
call edx
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [eax]
push 0x20
push 1
lea ecx, [ebp - 0x24]
push ecx
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [ecx + 8]
push 2
push ebx
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [ecx + 0x18]
push edx
call eax
push 4
push 0x1010c238
lea ecx, [ebp - 0x24]
push 0x20
push ecx
mov dword [ebp - 0x7c], eax
call fcn.005c5b23
add esp, 0x44
cmp eax, ebx
jne 0x5df472
push 4
push 0x1010c240
lea edx, [ebp - 0x24]
push 0x20
push edx
call fcn.005c5b23
add esp, 0x10
cmp eax, ebx
jne 0x5df472
movzx eax, word [esi + 0x6274]
mov ecx, 0x4949
cmp ax, cx
je 0x5df433
mov edx, 0x4d4d
cmp ax, dx
je 0x5df433
cmp dword [ebp - 0x24], 0xe1ffd8ff
jne 0x5def19
cmp dword [ebp - 0x1e], 0x66697845
jne 0x5def19
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 8]
push ebx
push 4
push ecx
call edx
push esi
call fcn.005c5ce3
mov ecx, dword [esi]
mov edx, dword [esi + 4]
movzx eax, ax
add eax, 4
push ebx
push eax
mov dword [esi + 0x65c0], eax
mov eax, dword [ecx + 8]
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [ecx + 0x1c]
push edx
call eax
add esp, 0x20
cmp eax, 0xff
je 0x5def0e
push 0xc
push esi
call fcn.005dda13
add esp, 8
mov dword [esi + 0x65c4], ebx
jmp 0x5df491
cmp dword [ebp - 0xb], 0x43455241
jne 0x5defe8
cmp byte [ebp - 7], 0x4f
jne 0x5defe8
cmp byte [ebp - 6], 0x59
jne 0x5defe8
cmp byte [ebp - 5], 0x4b
jne 0x5defe8
mov ecx, dword [0x1010ceac]
mov dword [esi + 0x6485], ecx
mov dx, word [0x1010ceb0]
mov word [esi + 0x6489], dx
mov al, byte [0x1010ceb2]
mov byte [esi + 0x648b], al
mov ecx, dword [0x1010cea0]
mov dword [esi + 0x64c5], ecx
mov edx, dword [0x1010cea4]
mov ecx, dword [esi]
mov dword [esi + 0x64c9], edx
mov ax, word [0x1010cea8]
mov edx, dword [esi + 4]
push ebx
mov word [esi + 0x64cd], ax
mov eax, dword [ecx + 8]
push 0x21
push edx
call eax
push 1
push esi
call fcn.005d71e3
mov ecx, dword [esi]
mov edx, dword [esi + 4]
mov eax, dword [ecx + 8]
push ebx
push 0x3c
push edx
call eax
add esp, 0x20
xor edi, edi
push esi
call fcn.005c5d83
add esp, 4
mov dword [ebp - 0x78], eax
fild dword [ebp - 0x78]
test eax, eax
jns 0x5defd0
fadd dword [0x10104610]
mov ecx, edi
shr ecx, 1
xor ecx, edi
inc edi
fstp dword [esi + ecx*4 + 0xe774]
cmp edi, 4
jb 0x5defb7
jmp 0x5df491
mov ecx, 0x1010ce9c
lea eax, [ebp - 0x24]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df013
test dl, dl
je 0x5df00f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df013
add eax, 2
add ecx, 2
test dl, dl
jne 0x5deff3
xor eax, eax
jmp 0x5df018
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5df073
mov edx, dword [0x1010ce90]
mov dword [esi + 0x6485], edx
mov eax, dword [0x1010ce94]
mov dword [esi + 0x6489], eax
mov cl, byte [0x1010ce98]
mov byte [esi + 0x648d], cl
mov edx, dword [0x1010ce80]
mov dword [esi + 0x64c5], edx
mov eax, dword [0x1010ce84]
mov dword [esi + 0x64c9], eax
mov ecx, dword [0x1010ce88]
mov dword [esi + 0x64cd], ecx
mov edx, dword [0x1010ce8c]
mov dword [esi + 0x64d1], edx
jmp 0x5df491
mov ecx, 0x1010ce78
lea eax, [ebp - 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df09b
test dl, dl
je 0x5df097
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df09b
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df07b
xor eax, eax
jmp 0x5df0a0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5df0f3
mov eax, dword [0x1010ce70]
mov dword [esi + 0x6485], eax
mov cx, word [0x1010ce74]
mov word [esi + 0x6489], cx
mov edx, dword [0x1010ce60]
mov dword [esi + 0x64c5], edx
mov eax, dword [0x1010ce64]
mov dword [esi + 0x64c9], eax
mov ecx, dword [0x1010ce68]
mov dword [esi + 0x64cd], ecx
mov dx, word [0x1010ce6c]
mov word [esi + 0x64d1], dx
jmp 0x5df491
mov ecx, 0x1010ce58
lea eax, [ebp - 0x24]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df11b
test dl, dl
je 0x5df117
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df11b
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df0fb
xor eax, eax
jmp 0x5df120
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5df173
mov eax, dword [0x1010ce70]
mov dword [esi + 0x6485], eax
mov cx, word [0x1010ce74]
mov word [esi + 0x6489], cx
mov edx, dword [0x1010ce48]
mov dword [esi + 0x64c5], edx
mov eax, dword [0x1010ce4c]
mov dword [esi + 0x64c9], eax
mov ecx, dword [0x1010ce50]
mov dword [esi + 0x64cd], ecx
mov dx, word [0x1010ce54]
mov word [esi + 0x64d1], dx
jmp 0x5df491
mov eax, 8
xor ecx, ecx
jmp 0x5df183
mov edx, dword [ebp + ecx - 0x24]
cmp edx, dword [ecx + 0x1010c21c]
jne 0x5df25c
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x5df183
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [edx + 8]
push ebx
push 0x54
push eax
call ecx
push esi
call fcn.005c5d83
push esi
mov dword [esi + 0x65c4], eax
call fcn.005c5d83
mov edx, dword [esi]
mov dword [esi + 0x65d0], eax
mov eax, dword [esi + 4]
mov ecx, dword [edx + 8]
push ebx
push 0x5c
push eax
call ecx
push esi
call fcn.005c5d83
push eax
push esi
call fcn.005d9143
add esp, 0x2c
cmp dword [esi + 0x65c4], 0x78
jle 0x5df22a
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [edx + 8]
push ebx
push 0x78
push eax
call ecx
push esi
call fcn.005c5d83
xor ecx, ecx
add esp, 0x10
cmp eax, ebx
setne cl
add dword [esi + 0x6614], ecx
cmp dword [esi + 0x6614], 2
jne 0x5df22a
cmp dword [esi + 0xa0], ebx
je 0x5df22a
push eax
push esi
call fcn.005d9143
add esp, 8
mov edx, dword [esi]
mov eax, dword [esi + 4]
mov ecx, dword [edx + 8]
push ebx
push 0x64
push eax
call ecx
push esi
call fcn.005c5d83
mov edx, dword [esi + 0x65c4]
add edx, 0xc
push edx
push esi
mov dword [esi + 0x65c0], eax
call fcn.005dda13
add esp, 0x18
jmp 0x5df491
mov eax, dword [ebp - 0x24]
cmp eax, 0x46464952
jne 0x5df281
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 8]
push ebx
push ebx
push ecx
call edx
push esi
call fcn.005d92b3
add esp, 0x10
jmp 0x5df491
cmp eax, 0x1000100
jne 0x5df33a
cmp byte [ebp - 0x20], bl
jne 0x5df33a
cmp byte [ebp - 0x1f], 0x40
jne 0x5df33a
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [eax + 8]
push ebx
push 6
push ecx
call edx
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push 8
push 1
lea eax, [esi + 0x6485]
push eax
mov eax, dword [ecx]
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push 8
push 1
lea eax, [esi + 0x64c5]
push eax
mov eax, dword [ecx]
push edx
call eax
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push 0x10
push 1
lea eax, [esi + 0x6505]
push eax
mov eax, dword [ecx]
push edx
call eax
push esi
call fcn.005c5ce3
movzx ecx, ax
add esp, 0x40
push esi
mov dword [esi + 0x65c0], ecx
call fcn.005c5ce3
push esi
call fcn.005c5ce3
push esi
mov word [esi + 0x66b2], ax
call fcn.005c5ce3
add esp, 0xc
mov word [esi + 0x66b0], ax
mov dword [esi + 0x2e7fc], 0x1007b3b0
mov dword [esi + 0x65b0], 0x61616161
jmp 0x5df491
mov eax, 9
mov ecx, 0x1010ce3c
lea edi, [ebp - 0x24]
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x5df36f
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x5df347
mov al, byte [ecx]
cmp al, byte [edi]
jne 0x5df36f
push esi
call fcn.005d8633
add esp, 4
jmp 0x5df491
mov eax, dword [ebp - 0x24]
cmp eax, 0x44415750
jne 0x5df387
push esi
call fcn.005d89e3
add esp, 4
jmp 0x5df491
cmp eax, 0x4d524d00
jne 0x5df39a
push ebx
push esi
call fcn.005de043
jmp 0x5df48e
cmp eax, 0x62564f46
jne 0x5df3af
push esi
call fcn.005de603
add esp, 4
jmp 0x5df491
cmp al, 0x43
jne 0x5df3c6
cmp ah, 0x49
jne 0x5df3c6
push esi
call fcn.005d9643
add esp, 4
jmp 0x5df491
mov edx, 0x1010b0c4
lea ebx, [esi + 0x64c5]
lea edi, [esi + 0x6485]
sub ebx, 0x1010b0d0
mov dword [ebp - 0x80], edx
sub edi, edx
mov dword [ebp - 0x78], 0x44
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [edx - 4]
jne 0x5df41e
mov eax, edx
mov cl, byte [eax]
mov byte [edi + eax], cl
inc eax
test cl, cl
jne 0x5df3f3
lea eax, [edx + 0xc]
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [ebx + eax], cl
inc eax
test cl, cl
jne 0x5df403
cmp byte [edx + 0x1f], cl
je 0x5df41e
push esi
call fcn.005de253
mov edx, dword [ebp - 0x80]
add esp, 4
add edx, 0x24
sub edi, 0x24
sub ebx, 0x24
dec dword [ebp - 0x78]
mov dword [ebp - 0x80], edx
jne 0x5df3e9
xor ebx, ebx
jmp 0x5df491
mov eax, 8
xor ecx, ecx
jmp 0x5df443
mov edx, dword [ebp + ecx - 0x1e]
cmp edx, dword [ecx + 0x1010ce30]
jne 0x5df487
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x5df443
mov eax, dword [ebp - 0x7c]
sub eax, edi
push eax
push edi
push esi
mov dword [esi + 0x65c0], edi
call fcn.005d7f73
add esp, 0xc
jmp 0x5df491
mov edi, eax
lea ecx, [ebp - 0x24]
sub edi, ecx
push edi
push esi
call fcn.005d8be3
add esp, 8
cmp edi, ebx
je 0x5df491
push ebx
push esi
call fcn.005dda13
add esp, 8
cmp byte [esi + 0x6485], 0
jne 0x5df4c3
mov edx, dword [ebp - 0x7c]
push edx
push ebx
push esi
call fcn.005d9543
add esp, 0xc
cmp byte [esi + 0x6485], 0
jne 0x5df4c3
push ebx
push esi
mov dword [esi + 0x6614], ebx
call fcn.005de4a3
add esp, 8
mov edi, edi
mov eax, dword [ebx + 0x1014b6ac]
push eax
lea edi, [esi + 0x6485]
push edi
call fcn.00574c03
add esp, 8
test eax, eax
je 0x5df4ef
mov ecx, dword [ebx + 0x1014b6ac]
mov edx, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x5df4e5
add ebx, 4
cmp ebx, 0x3c
jb 0x5df4c3
push 5
push 0x10107510
lea edi, [esi + 0x6485]
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
jne 0x5df51d
mov byte [esi + 0x64d5], al
mov byte [esi + 0x6495], al
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5df523
sub eax, edx
cmp byte [eax + esi + 0x6484], 0x20
lea eax, [eax + esi + 0x6484]
jne 0x5df54c
lea ebx, [ebx]
mov byte [eax], 0
dec eax
cmp byte [eax], 0x20
je 0x5df543
lea eax, [esi + 0x64c5]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5df555
sub eax, edx
cmp byte [eax + esi + 0x64c4], 0x20
lea eax, [eax + esi + 0x64c4]
jne 0x5df57c
lea esp, [esp]
mov byte [eax], 0
dec eax
cmp byte [eax], 0x20
je 0x5df573
lea eax, [esi + 0x6485]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5df585
sub eax, edx
mov edi, eax
push edi
lea eax, [esi + 0x6485]
push eax
lea ebx, [esi + 0x64c5]
push ebx
call fcn.00574e43
add esp, 0xc
test eax, eax
jne 0x5df5d1
mov cl, byte [esi + edi + 0x64c5]
inc edi
cmp cl, 0x20
jne 0x5df5d1
mov edx, 0x40
sub edx, edi
push edx
lea eax, [esi + edi + 0x64c5]
push eax
push ebx
call fcn.00574623
add esp, 0xc
push 0xf
push 0x1010ce20
push ebx
call fcn.00575e64
add esp, 0xc
test eax, eax
jne 0x5df5fd
lea eax, [esi + 0x64d4]
sub ebx, eax
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [ebx + eax], cl
inc eax
test cl, cl
jne 0x5df5f3
cmp dword [esi + 0x6614], 0
mov byte [esi + 0x6544], 0
mov byte [esi + 0x6504], 0
mov byte [esi + 0x64c4], 0
mov byte [esi + 0x6584], 0
mov byte [esi + 0x6484], 0
je 0x5e381d
cmp dword [esi + 0x65fc], 0
jne 0x5df64a
mov ecx, dword [esi + 0x65f0]
mov edx, 1
shl edx, cl
dec edx
mov dword [esi + 0x65fc], edx
cmp word [esi + 0x66b4], 0
jne 0x5df662
mov ax, word [esi + 0x66b0]
mov word [esi + 0x66b4], ax
cmp word [esi + 0x66b6], 0
jne 0x5df67a
mov cx, word [esi + 0x66b2]
mov word [esi + 0x66b6], cx
movzx ecx, word [esi + 0x66c2]
test cx, cx
je 0x5df6a7
movzx eax, word [esi + 0x66b4]
fld1
add ax, cx
fstp qword [esi + 0x66d8]
mov word [esi + 0x66b6], ax
dec eax
mov word [esi + 0x66b4], ax
mov edx, 0xa40
cmp word [esi + 0x66b4], dx
jne 0x5df6d0
mov eax, 0xf60
cmp word [esi + 0x66b6], ax
jne 0x5df6d0
lea edx, [eax - 0x28]
mov dword [esi + 0x66b4], 0xf380a38
mov eax, 0xc40
cmp word [esi + 0x66b4], ax
jne 0x5df6f9
mov ecx, 0x1300
cmp word [esi + 0x66b6], cx
jne 0x5df6f9
lea edx, [eax - 0xc]
mov dword [esi + 0x66b4], 0x12500c34
mov ecx, 0xbc6
cmp word [esi + 0x66b4], cx
jne 0x5df721
mov edx, 0x1000
cmp word [esi + 0x66b6], dx
jne 0x5df721
mov eax, 0xfae
mov word [esi + 0x66b6], ax
cmp dword [esi + 0x6618], 0
je 0x5df78f
or ebx, 0xffffffff
cmp dword [esi + 0x65b0], ebx
jne 0x5df73f
mov dword [esi + 0x65b0], 0
cmp dword [esi + 0x65b0], 0
je 0x5df756
mov ecx, dword [esi + 0x65ec]
mov dword [esi + 0x6614], ecx
jmp 0x5df762
mov edx, dword [esi + 0x65ec]
mov dword [esi + 0x66d0], edx
mov eax, dword [esi + 0x65f4]
cmp eax, 1
jne 0x5df777
mov dword [esi + 0x2e7fc], 0x10078080
cmp eax, 7
jne 0x5e372b
mov dword [esi + 0x2e7fc], 0x10077f00
jmp 0x5e372b
mov ecx, 0x10107528
lea eax, [esi + 0x6485]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df7ba
test dl, dl
je 0x5df7b6
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df7ba
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df79a
xor eax, eax
jmp 0x5df7bf
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
sete cl
xor ebx, ebx
mov edi, ecx
cmp edi, ebx
je 0x5df7f5
lea eax, [ebx + 8]
xor ecx, ecx
mov edx, dword [ebp + ecx - 0x1e]
cmp edx, dword [ecx + 0x1010ce30]
jne 0x5df823
sub eax, 4
add ecx, 4
cmp eax, 4
jae 0x5df7d3
mov eax, 0x10076b00
mov dword [esi + 0x2e7fc], eax
mov ecx, 0x10107520
lea eax, [esi + 0x6485]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df82a
test dl, dl
je 0x5df81f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df82a
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df803
xor eax, eax
jmp 0x5df82f
mov eax, 0x100775b0
jmp 0x5df7ef
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5df866
cmp dword [esi + 0x2e7fc], ebx
jne 0x5df845
mov dword [esi + 0x2e7fc], 0x1007af80
cmp byte [esi + 0x64c5], 0x45
jne 0x5df866
xor eax, eax
cmp dword [esi + 0x65c0], ebx
sete al
add eax, eax
add eax, eax
or eax, 2
or dword [esi + 0x66ac], eax
mov ecx, 0x101074d8
lea eax, [esi + 0x6485]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df893
test dl, dl
je 0x5df88f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df893
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df873
xor eax, eax
jmp 0x5df898
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5df8b0
mov dword [esi + 0x2e7fc], 0x1007af80
mov dword [esi + 0x65fc], 0xf7f
cmp dword [esi + 0x661c], ebx
jne 0x5e3684
cmp edi, ebx
je 0x5df90f
cmp dword [esi + 0x65f0], 0xf
jne 0x5df90f
movzx eax, word [esi + 0x66b6]
mov ecx, eax
cmp ecx, 0xd10
je 0x5df8e4
cmp ecx, 0xf20
je 0x5df8ee
jmp 0x5df8fa
add eax, 0xffffffbe
mov word [esi + 0x66b6], ax
mov ecx, 0xfffa
add word [esi + 0x66b6], cx
mov dword [esi + 0x65b0], ebx
mov dword [esi + 0x2e7fc], 0x10077810
jmp 0x5e3684
mov ecx, 0x1010ce10
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df93a
test dl, dl
je 0x5df936
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df93a
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df91a
xor eax, eax
jmp 0x5df93f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5df971
fld qword [0x1010ce08]
mov dword [esi + 0x66b4], 0x3560265
mov ecx, 0x380
mov dword [esi + 0x65b0], 0xe1e4e1e4
mov dword [esi + 0x2e7fc], 0x10075f90
jmp 0x5e366d
mov ecx, 0x1010cdf4
lea eax, [esi + 0x64c5]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df9a3
test dl, dl
je 0x5df99f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df9a3
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df983
xor eax, eax
jmp 0x5df9a8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e3644
mov ecx, 0x1010cde0
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5df9db
test dl, dl
je 0x5df9d7
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5df9db
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df9bb
xor eax, eax
jmp 0x5df9e0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e3644
mov ecx, 0x1010cdd0
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfa13
test dl, dl
je 0x5dfa0f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfa13
add eax, 2
add ecx, 2
test dl, dl
jne 0x5df9f3
xor eax, eax
jmp 0x5dfa18
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfa44
mov dword [esi + 0x66b4], 0x50a03c8
mov ecx, 0x528
mov dword [esi + 0x65b0], 0x1b4e4b1e
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3673
mov ecx, 0x1010cdc0
lea eax, [esi + 0x64c5]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfa73
test dl, dl
je 0x5dfa6f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfa73
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfa53
xor eax, eax
jmp 0x5dfa78
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfa9f
mov dword [esi + 0x66b4], 0x6100400
mov dword [esi + 0x65b0], 0x1e4b4e1b
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e367a
mov ecx, 0x1010cdb0
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfaca
test dl, dl
je 0x5dfac6
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfaca
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfaaa
xor eax, eax
jmp 0x5dfacf
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfb00
mov dword [esi + 0x66b4], 0x92806d8
mov dword [esi + 0x66b0], 0x96006e6
mov dword [esi + 0x66b8], 0xc000c
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cda0
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfb2b
test dl, dl
je 0x5dfb27
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfb2b
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfb0b
xor eax, eax
jmp 0x5dfb30
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfb61
mov dword [esi + 0x66b4], 0xa3807a8
mov dword [esi + 0x66b0], 0xa6807b0
mov dword [esi + 0x66b8], 0x40004
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd90
lea eax, [esi + 0x64c5]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfb93
test dl, dl
je 0x5dfb8f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfb93
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfb73
xor eax, eax
jmp 0x5dfb98
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfbcf
mov dword [esi + 0x66b4], 0xa3c07c0
mov dword [esi + 0x66b0], 0xa7007c8
mov dword [esi + 0x66b8], 0xa0006
mov dword [esi + 0x2e7fc], 0x100765c0
mov dword [esi + 0x6604], ebx
jmp 0x5e3684
mov ecx, 0x1010cd80
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfbfa
test dl, dl
je 0x5dfbf6
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfbfa
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfbda
xor eax, eax
jmp 0x5dfbff
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfc57
push esi
call fcn.005c70c3
add esp, 4
test eax, eax
je 0x5dfc2a
mov ecx, dword [0x1010cd78]
mov dword [esi + 0x64cf], ecx
mov dx, word [0x1010cd7c]
mov word [esi + 0x64d3], dx
mov dword [esi + 0x66b4], 0xa3807a8
mov dword [esi + 0x66b0], 0xa7007b0
mov dword [esi + 0x66b8], 0xc0008
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd68
lea eax, [esi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfc83
test dl, dl
je 0x5dfc7f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfc83
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfc63
xor eax, eax
jmp 0x5dfc88
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfcb9
mov dword [esi + 0x66b4], 0xc280918
mov dword [esi + 0x66b0], 0xc500924
mov dword [esi + 0x66b8], 0x24000c
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd58
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfce4
test dl, dl
je 0x5dfce0
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfce4
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfcc4
xor eax, eax
jmp 0x5dfce9
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfd1a
mov dword [esi + 0x66b4], 0xce209a8
mov dword [esi + 0x66b0], 0xd0809b0
mov dword [esi + 0x66b8], 0x60005
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd48
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfd45
test dl, dl
je 0x5dfd41
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfd45
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfd25
xor eax, eax
jmp 0x5dfd4a
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfd7b
mov dword [esi + 0x66b4], 0xcd809a8
mov dword [esi + 0x66b0], 0xd1009b4
mov dword [esi + 0x66b8], 0xc0006
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd38
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfda6
test dl, dl
je 0x5dfda2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfda6
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfd86
xor eax, eax
jmp 0x5dfdab
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfddc
mov dword [esi + 0x66b4], 0xe580ac8
mov dword [esi + 0x66b0], 0xe980ad4
mov dword [esi + 0x66b8], 0xc0006
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd28
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfe07
test dl, dl
je 0x5dfe03
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfe07
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfde7
xor eax, eax
jmp 0x5dfe0c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfe3d
mov dword [esi + 0x66b4], 0xfc00bd0
mov dword [esi + 0x66b0], 0x10080be8
mov dword [esi + 0x66b8], 0x30000c
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd18
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfe68
test dl, dl
je 0x5dfe64
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfe68
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfe48
xor eax, eax
jmp 0x5dfe6d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfe9e
mov dword [esi + 0x66b4], 0xb180850
mov dword [esi + 0x66b0], 0xb480858
mov dword [esi + 0x66b8], 0x2c0008
mov dword [esi + 0x2e7fc], 0x100765c0
jmp 0x5e3684
mov ecx, 0x1010cd04
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dfec9
test dl, dl
je 0x5dfec5
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dfec9
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dfea9
xor eax, eax
jmp 0x5dfece
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5dfeed
mov eax, 0x768
mov word [esi + 0x66b6], ax
mov dword [esi + 0x65b0], 0xb4b4b4b4
jmp 0x5e367a
cmp edi, ebx
je 0x5e005b
movzx eax, word [esi + 0x66b2]
mov ecx, 0x860
cmp ax, cx
jne 0x5dff66
mov dword [esi + 0x66b4], 0x828060e
mov edx, 4
mov dword [esi + 0x66b8], 0x40008
mov ecx, 0x1010ccf4
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5dff4a
test dl, dl
je 0x5dff46
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5dff4a
add eax, 2
add ecx, 2
test dl, dl
jne 0x5dff2a
xor eax, eax
jmp 0x5dff4f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5e3684
mov dword [esi + 0x65b0], 0xb4b4b4b4
jmp 0x5e367a
mov ecx, 0x8b0
cmp ax, cx
jne 0x5dff89
mov dword [esi + 0x66b4], 0x88005a8
mov dword [esi + 0x66b8], 0x300006
jmp 0x5e3684
mov ecx, 0x948
cmp ax, cx
jne 0x5dffac
mov dword [esi + 0x66b4], 0x90806b8
mov dword [esi + 0x66b8], 0xc0006
jmp 0x5e3684
mov ecx, 0xa70
cmp ax, cx
jne 0x5dffcf
mov dword [esi + 0x66b4], 0xa3807a8
mov dword [esi + 0x66b8], 0xc0006
jmp 0x5e3684
mov ecx, 0xc50
cmp ax, cx
jne 0x5e0015
cmp dword [esi + 0x65b8], 0x80000170
mov dword [esi + 0x66b4], 0xc100808
mov dword [esi + 0x66b8], 0x40000c
jne 0x5e3684
push 0x1010cce8
push 0x10107528
push esi
call fcn.005d9963
add esp, 0xc
jmp 0x5e3684
mov ecx, 0xc58
cmp ax, cx
jne 0x5e0038
mov dword [esi + 0x66b4], 0xc280918
mov dword [esi + 0x66b8], 0x2c000c
jmp 0x5e3684
mov ecx, 0xd10
cmp ax, cx
jne 0x5e005b
mov dword [esi + 0x66b4], 0xcd809a8
mov dword [esi + 0x66b8], 0x40006
jmp 0x5e3684
mov ecx, 0x1010ccdc
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0086
test dl, dl
je 0x5e0082
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0086
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0066
xor eax, eax
jmp 0x5e008b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5e00ab
movzx eax, word [esi + 0x68f4]
mov dword [esi + 0x65b0], 0x61616161
mov dword [esi + 0x65f8], eax
jmp 0x5e3684
cmp edi, ebx
je 0x5e030c
movzx eax, word [esi + 0x66b2]
mov ecx, 0xdbc
cmp ax, cx
jne 0x5e00f6
cmp dword [esi + 0x65b8], 0x80000189
mov dword [esi + 0x66b8], 0x2a000e
jne 0x5e02c8
push 0x1010ccd0
push 0x10107528
push esi
call fcn.005d9963
add esp, 0xc
jmp 0x5e02c8
mov ecx, 0xe0c
cmp ax, cx
jne 0x5e010f
mov dword [esi + 0x66b8], 0x4a000c
jmp 0x5e02c8
mov ecx, 0xf68
cmp ax, cx
jne 0x5e0132
mov dword [esi + 0x66b4], 0xf440a2a
mov dword [esi + 0x66b8], 0x1e0012
jmp 0x5e3684
mov ecx, 0xf6c
cmp ax, cx
jne 0x5e0199
mov ecx, 0xfffe
add word [esi + 0x66b4], cx
cmp dword [esi + 0x65b8], 0x80000236
mov dword [esi + 0x66b8], 0x2a0012
jne 0x5e0171
push 0x1010ccc4
push 0x10107528
push esi
call fcn.005d9963
add esp, 0xc
cmp dword [esi + 0x65b8], 0x80000254
jne 0x5e02c8
push 0x1010ccb8
push 0x10107528
push esi
call fcn.005d9963
add esp, 0xc
jmp 0x5e02c8
mov edx, 0xf90
cmp ax, dx
jne 0x5e01be
mov edx, 0xfffe
add word [esi + 0x66b4], dx
mov dword [esi + 0x66b8], 0x4c0014
jmp 0x5e02c8
mov ecx, 0x1008
cmp ax, cx
jne 0x5e01e1
mov dword [esi + 0x66b4], 0xfc00bd0
mov dword [esi + 0x66b8], 0x30000c
jmp 0x5e3684
mov ecx, 0x10d8
cmp ax, cx
jne 0x5e0229
mov ecx, 0xfffe
add word [esi + 0x66b4], cx
cmp dword [esi + 0x65b8], 0x80000176
mov dword [esi + 0x66b8], 0x160012
jne 0x5e02c8
push 0x1010ccac
push 0x10107528
push esi
call fcn.005d9963
add esp, 0xc
jmp 0x5e02c8
mov edx, 0x117c
cmp ax, dx
jne 0x5e0242
mov dword [esi + 0x66b8], 0x5a0022
jmp 0x5e02c8
mov edx, 0x1180
cmp ax, dx
jne 0x5e026f
mov dword [esi + 0x66b4], 0x11500cfe
mov dword [esi + 0x66b8], 0xc000a
mov dword [esi + 0x65b0], 0x49494949
jmp 0x5e3684
mov ecx, 0x4b8
cmp ax, cx
jne 0x5e029e
mov dword [esi + 0x66b8], 0x3e0033
movzx eax, word [esi + 0x66b6]
add eax, eax
add eax, eax
mov word [esi + 0x66b6], ax
mov word [esi + 0x66b2], ax
jmp 0x5e02c8
mov ecx, 0x5a8
cmp ax, cx
jne 0x5e02b4
mov dword [esi + 0x66b8], 0x9e0033
jmp 0x5e0283
mov ecx, 0x13f4
cmp ax, cx
jne 0x5e02e9
mov dword [esi + 0x66b8], 0x62000d
mov cx, word [esi + 0x66b8]
mov dx, word [esi + 0x66ba]
sub word [esi + 0x66b4], cx
sub word [esi + 0x66b6], dx
jmp 0x5e3684
mov ecx, 0x1650
cmp ax, cx
jne 0x5e030c
mov dword [esi + 0x66b4], 0x16080ea8
mov dword [esi + 0x66b8], 0x3e0014
jmp 0x5e3684
mov ecx, 0x1010cca8
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0337
test dl, dl
je 0x5e0333
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0337
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0317
xor eax, eax
jmp 0x5e033c
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5e0369
fld dword [esi + 0xe774]
fmul qword [0x1010cca0]
fstp dword [esi + 0xe774]
fld dword [esi + 0xe77c]
fmul qword [0x1010cc98]
fstp dword [esi + 0xe77c]
jmp 0x5e3684
mov ecx, 0x1010cc94
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0394
test dl, dl
je 0x5e0390
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0394
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0374
xor eax, eax
jmp 0x5e0399
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x5e03ba
fld qword [0x101430e0]
mov eax, 0xfffc
add word [esi + 0x66b6], ax
fstp qword [esi + 0x66d8]
jmp 0x5e3684
mov ecx, 0x1010cc8c
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e03e5
test dl, dl
je 0x5e03e1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e03e5
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e03c5
xor eax, eax
jmp 0x5e03ea
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e362a
mov ecx, 0x1010cc88
lea eax, [esi + 0x64c5]
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0423
test dl, dl
je 0x5e041f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0423
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0403
xor eax, eax
jmp 0x5e0428
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e362a
mov ecx, 0x1010cc84
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e045b
test dl, dl
je 0x5e0457
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e045b
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e043b
xor eax, eax
jmp 0x5e0460
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e362a
mov ecx, 0x1010cc80
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0493
test dl, dl
je 0x5e048f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0493
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0473
xor eax, eax
jmp 0x5e0498
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e3610
mov ecx, 0x1010cc78
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e04cb
test dl, dl
je 0x5e04c7
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e04cb
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e04ab
xor eax, eax
jmp 0x5e04d0
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
je 0x5e3610
push 3
push 0x1010cc74
lea edi, [esi + 0x64c5]
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
je 0x5e35ff
push 3
push 0x1010cc70
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
je 0x5e35ff
push 3
push 0x1010cc6c
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
je 0x5e35ff
mov ecx, 0x1010cc68
mov eax, edi
lea ebx, [ebx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0553
test dl, dl
je 0x5e054f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0553
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0533
xor eax, eax
jmp 0x5e0558
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e056d
mov ecx, 0xffd6
add word [esi + 0x66b6], cx
jmp 0x5e3684
mov ecx, 0x1010cc60
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0598
test dl, dl
je 0x5e0594
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0598
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0578
xor eax, eax
jmp 0x5e059d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e05f3
cmp dword [esi + 0x65f4], 0x8799
jne 0x5e3684
push esi
call fcn.005c9353
add esp, 4
test eax, eax
jne 0x5e3684
movzx eax, word [esi + 0x66b6]
or dword [esi + 0x66ac], 8
add eax, 3
mov word [esi + 0x66b6], ax
add eax, 3
mov dword [esi + 0x2e7fc], 0x1007af80
mov word [esi + 0x66b2], ax
jmp 0x5e3684
mov ecx, 0x1010cc58
lea eax, [esi + 0x64c5]
jmp 0x5e0603
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0623
test dl, dl
je 0x5e061f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0623
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0603
xor eax, eax
jmp 0x5e0628
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0653
mov edx, 1
mov eax, 0xfffc
add word [esi + 0x66b6], ax
mov word [esi + 0x66ba], dx
mov dword [esi + 0x65b0], 0x94949494
jmp 0x5e3684
push 3
push 0x1010cc54
lea edi, [esi + 0x64c5]
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
jne 0x5e068a
mov ecx, 6
mov edx, 0xfff2
add word [esi + 0x66b6], dx
mov word [esi + 0x66ba], cx
jmp 0x5e3684
push 3
push 0x1010cc50
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
jne 0x5e06cf
movzx eax, word [esi + 0x66b6]
mov ecx, 0xcc0
cmp ax, cx
jne 0x5e06c0
mov edx, 0xca0
mov word [esi + 0x66b6], dx
jmp 0x5e3684
add eax, 0xfffffff8
mov word [esi + 0x66b6], ax
jmp 0x5e3684
mov ecx, 0x1010cc48
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e06f6
test dl, dl
je 0x5e06f2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e06f6
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e06d6
xor eax, eax
jmp 0x5e06fb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0710
mov eax, 0xffe0
add word [esi + 0x66b6], ax
jmp 0x5e3684
mov ecx, 0x1010cc38
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e073b
test dl, dl
je 0x5e0737
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e073b
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e071b
xor eax, eax
jmp 0x5e0740
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e075d
mov dword [esi + 0x66ac], 1
mov dword [esi + 0x65b0], 0x94949494
jmp 0x5e3684
mov edi, dword [ebp - 0x7c]
cmp edi, 0x182004
jne 0x5e07de
mov eax, 0x660
push 3
push esi
mov dword [esi + 0x66b4], 0x50703c3
mov word [esi + 0x66b2], ax
mov dword [esi + 0x2e7fc], 0x10078c70
mov dword [esi + 0x65fc], 0x3f4
mov dword [esi + 0x66d0], 4
mov dword [esi + 0x65b0], 0x1e1e1e1e
call fcn.005d9af3
fld dword [0x1010cc34]
fstp dword [esi + 0xe784]
add esp, 8
fld dword [0x1010cc30]
fstp dword [esi + 0xe788]
fld dword [0x1010cc2c]
fstp dword [esi + 0xe790]
jmp 0x5e3684
cmp edi, 0x25a000
jne 0x5e0832
push 0x1010cc24
mov eax, 0x800
push 0x10107520
push esi
mov dword [esi + 0x66b4], 0x65004b3
mov word [esi + 0x66b2], ax
mov dword [esi + 0x2e7fc], 0x10078c70
mov dword [esi + 0x66d0], 4
mov dword [esi + 0x65b0], 0x4b4b4b4b
call fcn.005d9963
add esp, 0xc
jmp 0x5e3684
cmp edi, 0x48d000
jne 0x5e091e
mov eax, dword [esi + 0x65a0]
or eax, dword [esi + 0x65a4]
mov edx, 0x810
mov dword [esi + 0x66b4], 0x8100604
mov dword [esi + 0x66d0], 4
mov dword [esi + 0x65b0], 0xe1e1e1e1
mov dword [esi + 0x2e7fc], 0x1007af80
mov dword [esi + 0x66ac], 6
jne 0x5e08a8
push esi
call fcn.005c93e3
add esp, 4
test eax, eax
je 0x5e08a8
mov ecx, dword [0x1010cc1c]
mov dword [esi + 0x64c5], ecx
mov dl, byte [0x1010cc20]
mov byte [esi + 0x64c9], dl
mov ecx, 0x1010cc1c
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e08d3
test dl, dl
je 0x5e08cf
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e08d3
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e08b3
xor eax, eax
jmp 0x5e08d8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5e3684
push 3
push esi
mov dword [esi + 0x65b0], 0xb4b4b4b4
call fcn.005d9af3
fld dword [0x1010cc18]
fstp dword [esi + 0xe784]
add esp, 8
fld dword [0x1010cc14]
fstp dword [esi + 0xe788]
fld dword [0x1010cc10]
fstp dword [esi + 0xe78c]
jmp 0x5e3684
mov ecx, 0x1010cc08
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0949
test dl, dl
je 0x5e0945
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0949
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0929
xor eax, eax
jmp 0x5e094e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0986
mov eax, dword [esi + 0x65a0]
or eax, dword [esi + 0x65a4]
jne 0x5e096d
push esi
call fcn.005c94a3
add esp, 4
test eax, eax
je 0x5e09bc
mov dword [esi + 0x66b4], 0x65004b6
mov dword [esi + 0x66ac], 7
jmp 0x5e3684
mov ecx, 0x1010cc00
lea eax, [esi + 0x64c5]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e09b3
test dl, dl
je 0x5e09af
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e09b3
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0993
xor eax, eax
jmp 0x5e09b8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e09ee
mov eax, dword [0x1010cc00]
mov dword [esi + 0x64c5], eax
mov cx, word [0x1010cc04]
mov word [esi + 0x64c9], cx
mov dword [esi + 0x66b4], 0x65004b4
mov dword [esi + 0x65b0], 0x4b4b4b4b
jmp 0x5e367a
cmp edi, 0x48e000
jne 0x5e0ae1
fld dword [0x1010cbfc]
mov eax, dword [esi + 0x65a0]
or eax, dword [esi + 0x65a4]
fstp dword [esi + 0xe784]
fld dword [0x1010cbf8]
mov edx, 0x810
fstp dword [esi + 0xe78c]
mov dword [esi + 0x66b4], 0x8100606
mov dword [esi + 0x2e7fc], 0x1007af80
mov dword [esi + 0x66ac], 7
jne 0x5e0a4c
push esi
call fcn.005c9553
add esp, 4
cmp byte [esi + 0x64c5], 0x45
jne 0x5e0a75
lea ecx, [esi + 0x64c6]
push ecx
call fcn.00574eac
add esp, 4
cmp eax, 0xe74
jge 0x5e0a75
mov dword [esi + 0x65b0], 0x49494949
mov ecx, 0x1010bd00
lea eax, [esi + 0x64c5]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0aa3
test dl, dl
je 0x5e0a9f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0aa3
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0a83
xor eax, eax
jmp 0x5e0aa8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e3684
fld dword [0x1010cbf4]
mov dword [esi + 0x66c8], 1
fstp dword [esi + 0xe784]
mov dword [esi + 0x65b0], 0x16161616
fld dword [0x1010cbf0]
fstp dword [esi + 0xe78c]
jmp 0x5e3684
cmp edi, 0x599000
jne 0x5e0b7c
mov ecx, dword [esi + 0x65a0]
or ecx, dword [esi + 0x65a4]
mov dword [esi + 0x66b4], 0x8f006ae
mov dword [esi + 0x65b0], 0x16161616
jne 0x5e0b58
push esi
call fcn.005c9723
add esp, 4
test eax, eax
je 0x5e0b58
mov edx, dword [0x101074e8]
mov dword [esi + 0x6485], edx
mov eax, dword [0x101074ec]
mov dword [esi + 0x6489], eax
mov ecx, dword [0x1010cbe4]
mov dword [esi + 0x64c5], ecx
mov edx, dword [0x1010cbe8]
mov dword [esi + 0x64c9], edx
mov ax, word [0x1010cbec]
mov word [esi + 0x64cd], ax
xor ecx, ecx
cmp byte [esi + 0x6485], 0x4d
mov dword [esi + 0x2e7fc], 0x1007af80
sete cl
add ecx, 6
mov dword [esi + 0x66ac], ecx
jmp 0x5e3684
mov ecx, 0x1010cbdc
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0ba7
test dl, dl
je 0x5e0ba3
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0ba7
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0b87
xor eax, eax
jmp 0x5e0bac
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0bc9
mov dword [esi + 0x66b4], 0x8f006ac
mov dword [esi + 0x65b0], 0xb4b4b4b4
jmp 0x5e367a
cmp edi, 0x718000
jne 0x5e0bea
mov dword [esi + 0x66b4], 0xa100784
mov dword [esi + 0x65b0], 0xb4b4b4b4
jmp 0x5e367a
cmp edi, 0x895000
jne 0x5e0c1f
mov dword [esi + 0x66b4], 0xb100846
mov dword [esi + 0x65fc], 0xf83
mov dword [esi + 0x2e7fc], 0x1007af80
mov dword [esi + 0x66ac], 7
jmp 0x5e3684
mov ecx, 0x1010cbcc
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0c4a
test dl, dl
je 0x5e0c46
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0c4a
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0c2a
xor eax, eax
jmp 0x5e0c4f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5e17b0
mov ecx, 0x1010cbbc
lea eax, [esi + 0x64c5]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0c83
test dl, dl
je 0x5e0c7f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0c83
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0c63
xor eax, eax
jmp 0x5e0c88
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x5e17b0
mov ecx, 0x1010c21c
lea eax, [esi + 0x6485]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0cbb
test dl, dl
je 0x5e0cb7
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0cbb
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0c9b
xor eax, eax
jmp 0x5e0cc0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0e3f
mov ecx, 0x1010cbb4
lea eax, [esi + 0x64cc]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0cf3
test dl, dl
je 0x5e0cef
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0cf3
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0cd3
xor eax, eax
jmp 0x5e0cf8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0d37
mov edx, dword [0x1010cbac]
mov dword [esi + 0x64cc], edx
mov ax, word [0x1010cbb0]
mov word [esi + 0x64d0], ax
mov cl, byte [0x1010cbb2]
mov byte [esi + 0x64d2], cl
mov dword [esi + 0x66b4], 0xb400860
mov dword [esi + 0x66c8], 6
jmp 0x5e0d41
mov dword [esi + 0x65fc], 0x3e00
cmp dword [esi + 0x6614], 2
jne 0x5e0d5c
cmp dword [esi + 0xa0], ebx
je 0x5e0d5c
mov dword [esi + 0x65fc], 0x2f00
movzx edi, word [esi + 0x66b0]
movzx ecx, word [esi + 0x66b4]
movzx ebx, word [esi + 0x66b6]
mov eax, edi
sub eax, ecx
movzx ecx, word [esi + 0x66b2]
cdq
sub eax, edx
sar eax, 1
mov word [esi + 0x66b8], ax
mov edx, ebx
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
cmp dword [esi + 0x6614], 2
mov word [esi + 0x66ba], ax
jne 0x5e0dd4
cmp dword [esi + 0x65e4], 0
je 0x5e0dba
add ecx, ecx
mov word [esi + 0x66b2], cx
movzx ecx, cx
jmp 0x5e0dbf
imul ecx, edi
add ecx, ecx
xor eax, eax
cmp eax, dword [esi + 0xa0]
sbb edx, edx
neg edx
imul edx, ecx
add dword [esi + 0x65c0], edx
movzx eax, word [esi + 0x66b4]
xor ecx, ecx
cmp dword [esi + 0x65e4], ecx
mov dx, bx
sete cl
shr dx, cl
movzx ecx, word [esi + 0x65e4]
shr ax, cl
movzx ecx, word [esi + 0x66b4]
add ax, dx
mov word [esi + 0x66b6], ax
mov word [esi + 0x66c2], dx
mov word [esi + 0x66b0], cx
mov dword [esi + 0x2e7fc], 0x10078d70
dec eax
mov word [esi + 0x66b4], ax
test dl, 1
jne 0x5e3684
mov dword [esi + 0x65b0], 0x49494949
jmp 0x5e3684
mov ecx, 0x1010cba4
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0e6a
test dl, dl
je 0x5e0e66
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0e6a
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0e4a
xor eax, eax
jmp 0x5e0e6f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0ea0
mov dword [esi + 0x66b4], 0x5fe03da
mov dword [esi + 0x65c0], 0x201
mov dword [esi + 0x65b0], 0x61616161
mov dword [esi + 0x2e7fc], 0x1007be20
jmp 0x5e3684
mov ecx, 0x1010cb9c
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0ecb
test dl, dl
je 0x5e0ec7
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0ecb
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0eab
xor eax, eax
jmp 0x5e0ed0
sbb eax, eax
sbb eax, 0xffffffff
xor edi, edi
mov ebx, 0x1007b250
cmp eax, edi
jne 0x5e0ef6
mov eax, 0x920
mov dword [esi + 0x66b4], 0x90806b0
mov word [esi + 0x66b2], ax
jmp 0x5e1066
mov ecx, 0x1010cb94
lea eax, [esi + 0x64c5]
mov edi, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e0f23
test dl, dl
je 0x5e0f1f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e0f23
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e0f03
xor eax, eax
jmp 0x5e0f28
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
je 0x5e102f
lea eax, [esi + 0x6485]
push 0x101074f0
push eax
call fcn.005758e7
add esp, 8
test eax, eax
jne 0x5e10c8
push 8
push 0x1010cb88
lea edi, [esi + 0x64c5]
push edi
mov dword [esi + 0x2e7fc], ebx
call fcn.00575e64
add esp, 0xc
test eax, eax
jne 0x5e0fb5
mov eax, 0x1010c728
mov edi, edi
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x5e0f93
test cl, cl
je 0x5e0f8f
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x5e0f93
add edi, 2
add eax, 2
test cl, cl
jne 0x5e0f73
xor eax, eax
jmp 0x5e0f98
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x5e0fa6
mov dword [esi + 0x65b0], 0x49494949
mov dword [esi + 0x2e7fc], 0x1007af80
jmp 0x5e3684
push 5
push 0x1010cb80
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
je 0x5e1087
push 5
push 0x1010cb78
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
je 0x5e1087
push 6
push 0x1010cb70
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
je 0x5e1087
push 8
push 0x1010cb64
push edi
call fcn.00575e64
add esp, 0xc
test eax, eax
jne 0x5e3684
mov edx, 0xa40
mov dword [esi + 0x66b4], 0xa2f07a4
mov word [esi + 0x66b2], dx
jmp 0x5e1055
add dword [esi + 0x65c0], 0xe
mov dword [esi + 0x65b0], 0x61616161
mov edx, 0x4d4d
mov dword [esi + 0x2e7fc], ebx
mov dword [esi + 0x65fc], 0x3df
mov word [esi + 0x6274], dx
jmp 0x5e3684
xor eax, eax
cmp byte [edi], 0x4d
lea ebx, [esi + 0x64d9]
sete al
lea ecx, [eax + esi + 0x64cb]
push ecx
push 0x1010cb58
push ebx
call fcn.00573857
push ebx
lea eax, [esi + 0x6485]
push eax
push esi
call fcn.005d9963
add esp, 0x18
mov dword [esi + 0x2e7fc], 0x1007af80
jmp 0x5e3684
mov ecx, 0x1010cb50
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e10f3
test dl, dl
je 0x5e10ef
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e10f3
add eax, 2
add ecx, 2
test dl, dl
jne 0x5e10d3
xor eax, eax
jmp 0x5e10f8
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x5e110d
mov edx, 0xfffe
add word [esi + 0x66b4], dx
jmp 0x5e3684
mov ecx, 0x1010cb48
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e1138
test dl, dl
je 0x5e1134
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x5e1138
xor eax, eax
jmp 0x5e113d
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, edi
jne 0x5e1150
mov dword [esi + 0x65b0], 0x16161616
jmp 0x5e3684
mov ecx, 0x1010cb40
lea eax, [esi + 0x64c5]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x5e117b
mov dword [esi + 0x2e7fc], 0x1007b250
jmp 0x5e3684
mov eax, 0xffff
add word [esi + 0x66b6], ax
jmp 0x5e3684
mov ecx, 0xfffc
add word [esi + 0x66b6], cx
mov edx, 2
mov word [esi + 0x66ba], dx
jmp 0x5e3684
mov eax, 0xfffd
add word [esi + 0x66b4], ax
mov ecx, 0xfffc
add word [esi + 0x66b6], cx
jmp 0x5e3684
fld qword [0x1010c828]
mov dword [esi + 0x66b4], 0x3c00305
mov ecx, 0x3e0
mov dword [esi + 0x65b0], 0x1e4e1e4e
mov dword [esi + 0x2e7fc], 0x100765c0
fstp qword [esi + 0x66d8]
mov word [esi + 0x66b2], cx
mov dword [esi + 0x66d0], 4
cmp byte [esi + 0x64c5], 0
lea edi, [esi + 0x64c5]
jne 0x5e36b1
movzx edx, word [esi + 0x66b4]
movzx eax, word [esi + 0x66b6]
push edx
push eax
push 0x1010c81c
push edi
call fcn.00573857
add esp, 0x10
or ebx, 0xffffffff
cmp dword [esi + 0x65b0], ebx
jne 0x5e36c6
mov dword [esi + 0x65b0], 0x94949494
cmp dword [esi + 0x6604], 0
je 0x5e36e0
push edi
lea eax, [esi + 0x6485]
push eax
push esi
call fcn.005d9963
add esp, 0xc
mov eax, dword [esi + 0x65c4]
test eax, eax
je 0x5e372b
cmp word [esi + 0x66c6], 0
jne 0x5e372b
mov ecx, dword [esi]
mov edx, dword [esi + 4]
push 0
push eax
mov eax, dword [ecx + 8]
push edx
call eax
push 1
lea ecx, [ebp - 0x74]
push ecx
push esi
call fcn.005c7b53
add esp, 0x18
test eax, eax
je 0x5e372b
mov dx, word [ebp - 0x6c]
mov ax, word [ebp - 0x70]
mov word [esi + 0x66c4], dx
mov word [esi + 0x66c6], ax
mov eax, dword [esi + 0x2e7fc]
xor edi, edi
cmp eax, edi
je 0x5e3741
cmp word [esi + 0x66b4], 0x16
jae 0x5e3747
mov dword [esi + 0x6614], edi
cmp eax, 0x10007ad0
jne 0x5e3771
mov ecx, dword [esi + 0x6278]
push ecx
push 0x1010c7f4
call fcn.0057c111
add eax, 0x40
push eax
call fcn.00575bd4
add esp, 0xc
mov dword [esi + 0x6614], edi
cmp byte [esi + 0x6280], 0
lea edx, [esi + 0x6280]
jne 0x5e379f
cmp dword [esi + 0x66d0], 3
mov eax, 0x1010c7f0
je 0x5e3793
mov eax, 0x1010c7e8
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5e3795
cmp word [esi + 0x66b0], di
jne 0x5e37b6
mov dx, word [esi + 0x66b4]
mov word [esi + 0x66b0], dx
cmp word [esi + 0x66b2], di
jne 0x5e37cd
mov ax, word [esi + 0x66b6]
mov word [esi + 0x66b2], ax
mov eax, dword [esi + 0x65b0]
cmp eax, edi
je 0x5e3820
cmp dword [esi + 0x66d0], 3
jne 0x5e3820
xor ecx, ecx
nop
mov edx, eax
shr edx, cl
and edx, 0xf
cmp dl, 9
jne 0x5e37f8
mov edx, 2
shl edx, cl
or eax, edx
mov edx, eax
shr edx, cl
and edx, 0xf
cmp dl, 6
jne 0x5e380d
mov edx, 8
shl edx, cl
or eax, edx
add ecx, 4
cmp ecx, 0x20
jb 0x5e37e3
mov dword [esi + 0x65b0], eax
jmp 0x5e3820
or ebx, 0xffffffff
pop edi
cmp dword [esi + 0x66c8], ebx
jne 0x5e3843
mov eax, dword [esi + 0x66cc]
mov dword [esi + 0x66c8], eax
cmp eax, ebx
jne 0x5e3843
mov dword [esi + 0x66c8], 0
mov ecx, dword [ebp - 4]
pop esi
xor ecx, ebp
pop ebx
call fcn.0057371d
mov esp, ebp
pop ebp
ret