Function at 0x716700
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x88
push ebx
mov ebx, ecx
push ebp
xor ebp, ebp
mov eax, dword [ebx + 0xc]
push esi
cmp eax, ebp
push edi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x24], ebp
je 0x716722
mov edi, dword [eax + 4]
jmp 0x716724
xor edi, edi
mov eax, dword [ebx]
mov dword [esp + 0x1c], ebp
add eax, 0x24
cmp dword [eax], 0xffffffff
je 0x71674e
mov edx, dword [eax]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.00407b70
mov eax, dword [esp + 0x24]
add esp, 8
cmp eax, ebp
je 0x71674e
mov esi, dword [eax]
jmp 0x716754
mov esi, dword [0x89fe34]
mov eax, dword [ebx]
mov dword [esp + 0x18], ebp
add eax, 0x28
cmp dword [eax], 0xffffffff
je 0x71677e
mov edx, dword [eax]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00428f80
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebp
je 0x71677e
fld dword [eax]
jmp 0x716784
fld dword [0x89fe2c]
fstp dword [esp + 0x3c]
lea ecx, [esp + 0x44]
mov byte [esp + 0x38], 0
mov byte [esp + 0x39], 0
mov dword [esp + 0x40], esi
call fcn.006a9d10
push edi
lea ecx, [esp + 0x48]
call fcn.00708af0
mov ecx, dword [esp + 0x9c]
mov byte [esp + 0x39], 1
xor esi, esi
mov dword [esp + 0x34], ebp
mov eax, dword [ecx + 4]
lea edx, [eax + 0x1c]
add eax, 8
mov dword [esp + 0x1c], eax
mov eax, dword [ecx]
mov dword [esp + 0x18], edx
mov ecx, dword [eax + 0x4c]
cmp ecx, ebp
je 0x716874
mov edx, dword [ecx]
call dword [edx + 0x14]
mov esi, eax
mov eax, dword [esp + 0x9c]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x4c]
mov edx, dword [ecx]
call dword [edx + 0x18]
test esi, esi
mov dword [esp + 0x34], eax
je 0x716874
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x716874
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x716874
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x9c]
mov edx, dword [esi]
mov ecx, esi
mov ebp, eax
call dword [edx + 0x28]
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x716828
mov eax, dword [eax + 4]
jmp 0x71682a
xor eax, eax
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x44]
test edi, edi
je 0x716845
test eax, eax
je 0x716845
cmp edi, dword [eax + 0x98c]
je 0x716944
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x716851
mov eax, dword [eax + 4]
jmp 0x716853
xor eax, eax
cmp esi, eax
je 0x716944
test ebp, ebp
je 0x716874
mov ecx, ebp
call fcn.00765860
mov cl, byte [eax + 0xa9]
test cl, cl
jne 0x716944
mov eax, dword [esp + 0x9c]
mov byte [esp + 0x17], 0
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x7168dd
mov edx, dword [ecx]
call dword [edx + 0xc]
test eax, eax
jne 0x7168dd
mov eax, dword [esp + 0x9c]
mov edi, dword [eax + 8]
mov ecx, edi
call fcn.00577450
test eax, 0x10000000
je 0x7168dd
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x170]
test eax, eax
je 0x7168dd
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
lea eax, [ebx + 0x20]
push eax
push ecx
mov ecx, dword [0x855444]
push edx
push edi
call fcn.00623e70
mov byte [esp + 0x17], 1
mov dword [esp + 0x24], 2
mov eax, dword [esp + 0x9c]
lea ebp, [ebx + 0x20]
mov eax, dword [eax + 4]
add eax, 8
fld dword [eax + 8]
fmul dword [ebp + 8]
fld dword [eax + 4]
fmul dword [ebp + 4]
faddp st(1)
fld dword [eax]
fmul dword [ebp]
faddp st(1)
fcomp dword [0x7cd7b4]
fnstsw ax
test ah, 0x41
je 0x716944
mov al, byte [esp + 0x17]
test al, al
jne 0x7170ca
mov ecx, dword [esp + 0x9c]
xor edi, edi
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x716932
mov edx, dword [ecx]
call dword [edx + 0x10]
mov edi, eax
test esi, esi
je 0x716a9f
mov eax, dword [esi + 0xc]
mov ecx, dword [ebx + 0x34]
cmp eax, ecx
jne 0x716974
push 0
lea ecx, [esp + 0x48]
call fcn.00708af0
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0x7d5810
call fcn.00708af0
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x88
ret 4
fld dword [ebx + 0x38]
fcomp dword [0x7cd7b4]
fnstsw ax
test ah, 0x41
jne 0x7169ad
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x7169ad
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x7169ad
test eax, eax
je 0x71699b
mov eax, dword [eax + 4]
jmp 0x71699d
xor eax, eax
push eax
mov ecx, esi
call fcn.006d9830
test al, al
je 0x716aaf
mov ecx, dword [esi + 0xc]
push edi
mov dword [ebx + 0x34], ecx
mov edx, dword [esi]
push ebp
lea eax, [esp + 0x40]
push 0x3f800000
push eax
mov ecx, esi
call dword [edx + 0x80]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x8c]
test eax, eax
je 0x716a21
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x8c]
add eax, 0x7d4
mov eax, dword [eax + 8]
test eax, eax
je 0x7169f2
mov edi, dword [eax + 4]
jmp 0x7169f4
xor edi, edi
test edi, edi
je 0x716a21
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x24]
test eax, eax
je 0x716a21
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
mov edx, dword [eax]
push 0
push ebp
lea ecx, [esp + 0x40]
push 0x3f800000
push ecx
mov ecx, eax
call dword [edx + 0x80]
mov ecx, esi
call fcn.006a53c0
test al, al
je 0x716a49
mov edx, dword [ebx + 0x2c]
inc edx
mov dword [ebx + 0x2c], edx
mov eax, edx
mov edx, dword [ebx]
cmp eax, dword [edx + 0x58]
jge 0x716a49
mov dword [esp + 0x24], 2
jmp 0x7170ca
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x68]
test eax, eax
je 0x7170be
mov eax, dword [esp + 0x1c]
fld dword [eax]
fchs
fstp dword [esp + 0x5c]
fld dword [eax + 4]
fchs
fstp dword [esp + 0x60]
fld dword [eax + 8]
mov eax, dword [ebx + 0xc]
fchs
fstp dword [esp + 0x64]
test eax, eax
je 0x716a80
mov eax, dword [eax + 4]
jmp 0x716a82
xor eax, eax
mov ecx, dword [ecx + 0x68]
lea edx, [esp + 0x5c]
push esi
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
push ecx
call fcn.00720b80
add esp, 0x14
jmp 0x7170be
fld dword [ebx + 0x38]
fcomp dword [0x7cd7b4]
fnstsw ax
test ah, 0x41
jne 0x716adc
push 0
lea ecx, [esp + 0x48]
call fcn.00708af0
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0x7d5810
call fcn.00708af0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x88
ret 4
mov eax, dword [esp + 0x34]
test eax, eax
je 0x716b04
mov edx, dword [esp + 0x9c]
mov ecx, dword [edx]
mov eax, dword [ecx]
call dword [eax + 0x94]
lea ecx, [esp + 0x38]
push eax
push ecx
mov ecx, dword [esp + 0x3c]
call fcn.006829a0
mov esi, dword [esp + 0x9c]
mov eax, dword [esi]
mov edx, dword [eax + 0x28]
lea ecx, [eax + 0x28]
call dword [edx + 8]
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 4]
cmp eax, 0x20a02
jne 0x717045
mov eax, dword [esi]
xor edi, edi
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xc]
cmp eax, edi
je 0x716b40
mov ecx, dword [eax + 4]
mov dword [esp + 0x2c], ecx
jmp 0x716b44
mov dword [esp + 0x2c], edi
mov eax, dword [ebx]
add eax, 0x24
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x716d85
push eax
call fcn.0045c0b0
add esp, 4
cmp eax, edi
je 0x716d85
mov edx, dword [0x829488]
push edi
add eax, 0x14
push 4
push eax
lea eax, [edx*4 + 0x82948c]
push eax
call fcn.0045cba0
mov eax, dword [0x829488]
add esp, 0x10
lea esi, [eax*4 + 0x82948c]
inc eax
cmp eax, 8
mov dword [esp + 0x20], esi
mov dword [0x829488], eax
jl 0x716ba3
mov dword [0x829488], edi
push edi
call fcn.0045d120
mov eax, dword [0x81c700]
add esp, 4
inc eax
cmp eax, 0x186a0
mov dword [0x81c700], eax
jb 0x716d79
mov eax, dword [0x820dd0]
mov ecx, dword [0x829478]
mov edx, eax
mov dword [0x81c700], edi
sub edx, ecx
cmp edx, eax
jne 0x716bf1
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x820dd0]
mov ecx, dword [0x829478]
mov edx, ecx
sub edx, eax
cmp edx, ecx
jne 0x716c04
inc dword [0x8294f0]
call fcn.0045dca0
mov al, byte [0x81c644]
test al, al
jne 0x716c1e
mov ecx, 0x83f450
call fcn.005ddd50
mov byte [0x81c644], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x83f450]
cmp eax, ecx
jbe 0x716c32
sub eax, ecx
jmp 0x716c3a
mov ecx, dword [0x83f454]
add eax, ecx
mov ecx, dword [0x829468]
cmp eax, ecx
jb 0x716c5a
mov edx, eax
or edx, ecx
je 0x716c5a
mov edx, eax
sub edx, ecx
cmp edx, 0x3a98
jbe 0x716d79
mov cl, byte [0x81c6fc]
test cl, cl
jne 0x716d79
mov ecx, dword [0x8294e8]
mov dword [0x829468], eax
mov eax, dword [0x829478]
cmp ecx, edi
mov byte [0x81c6fc], 1
not eax
jle 0x716cd6
mov ebx, 0x820e44
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx]
test ecx, ecx
je 0x716cc8
mov esi, dword [ecx + 4]
test esi, esi
jle 0x716cc8
mov edx, dword [ecx]
mov edi, dword [edx + 0xc]
sar edi, 2
test edx, edx
je 0x716cc8
test esi, esi
jle 0x716cc8
mov ebp, esi
mov ecx, dword [edx]
xor eax, ecx
lea ecx, [edx + 0x14]
test edi, edi
jle 0x716cc2
mov esi, edi
xor eax, dword [ecx]
add ecx, 4
dec esi
jne 0x716cba
mov edx, dword [edx + 4]
dec ebp
jne 0x716cad
mov ecx, dword [esp + 0x10]
add ebx, 4
dec ecx
mov dword [esp + 0x10], ecx
jne 0x716c8e
cmp eax, dword [0x8294d8]
je 0x716ce9
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x8294e8]
xor esi, esi
cmp eax, esi
je 0x716d68
mov eax, dword [0x829464]
mov dword [esp + 0x28], esi
cmp eax, esi
je 0x716d2e
lea edx, [esp + 0x28]
push edx
push eax
call fcn.00407b70
add esp, 8
test al, al
je 0x716d23
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x716d23
cmp dword [eax], 0x29874362
je 0x716d2e
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x8294b0]
mov dword [esp + 0x28], esi
cmp eax, esi
je 0x716d68
lea ecx, [esp + 0x28]
push ecx
push eax
call fcn.00407b70
add esp, 8
test al, al
je 0x716d5d
mov eax, dword [esp + 0x28]
cmp eax, esi
je 0x716d5d
cmp dword [eax], 0xbad0bad
je 0x716d68
inc dword [0x8294f0]
call fcn.0045dca0
mov esi, dword [esp + 0x20]
mov ebx, dword [esp + 0x54]
mov byte [0x81c6fc], 0
xor edi, edi
cmp esi, edi
je 0x716d85
mov edx, dword [esi]
mov dword [esp + 0x20], edx
jmp 0x716d8e
mov eax, dword [0x89fe34]
mov dword [esp + 0x20], eax
mov eax, dword [ebx]
add eax, 0x28
mov eax, dword [eax]
cmp eax, 0xffffffff
je 0x716fcb
push eax
call fcn.0045c0b0
add esp, 4
cmp eax, edi
je 0x716fcb
mov ecx, dword [0x8294dc]
push edi
add eax, 0x14
push 4
lea edx, [ecx*4 + 0x8294b4]
push eax
push edx
call fcn.0045cba0
mov eax, dword [0x8294dc]
add esp, 0x10
lea esi, [eax*4 + 0x8294b4]
inc eax
cmp eax, 8
mov dword [esp + 0x58], esi
mov dword [0x8294dc], eax
jl 0x716ded
mov dword [0x8294dc], edi
push edi
call fcn.0045d120
mov eax, dword [0x81c700]
add esp, 4
inc eax
cmp eax, 0x186a0
mov dword [0x81c700], eax
jb 0x716fc3
mov eax, dword [0x820dd0]
mov ecx, dword [0x829478]
mov edx, eax
mov dword [0x81c700], edi
sub edx, ecx
cmp edx, eax
jne 0x716e3b
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x820dd0]
mov ecx, dword [0x829478]
mov edx, ecx
sub edx, eax
cmp edx, ecx
jne 0x716e4e
inc dword [0x8294f0]
call fcn.0045dca0
mov al, byte [0x81c644]
test al, al
jne 0x716e68
mov ecx, 0x83f450
call fcn.005ddd50
mov byte [0x81c644], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x83f450]
cmp eax, ecx
jbe 0x716e7c
sub eax, ecx
jmp 0x716e84
mov ecx, dword [0x83f454]
add eax, ecx
mov ecx, dword [0x829468]
cmp eax, ecx
jb 0x716ea4
mov edx, eax
or edx, ecx
je 0x716ea4
mov edx, eax
sub edx, ecx
cmp edx, 0x3a98
jbe 0x716fc3
mov cl, byte [0x81c6fc]
test cl, cl
jne 0x716fc3
mov ecx, dword [0x8294e8]
mov dword [0x829468], eax
mov eax, dword [0x829478]
cmp ecx, edi
mov byte [0x81c6fc], 1
not eax
jle 0x716f20
mov ebx, 0x820e44
mov dword [esp + 0x10], ecx
mov ecx, dword [ebx]
test ecx, ecx
je 0x716f12
mov esi, dword [ecx + 4]
test esi, esi
jle 0x716f12
mov edx, dword [ecx]
mov edi, dword [edx + 0xc]
sar edi, 2
test edx, edx
je 0x716f12
test esi, esi
jle 0x716f12
mov ebp, esi
mov ecx, dword [edx]
xor eax, ecx
lea ecx, [edx + 0x14]
test edi, edi
jle 0x716f0c
mov esi, edi
xor eax, dword [ecx]
add ecx, 4
dec esi
jne 0x716f04
mov edx, dword [edx + 4]
dec ebp
jne 0x716ef7
mov ecx, dword [esp + 0x10]
add ebx, 4
dec ecx
mov dword [esp + 0x10], ecx
jne 0x716ed8
cmp eax, dword [0x8294d8]
je 0x716f33
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x8294e8]
xor esi, esi
cmp eax, esi
je 0x716fb2
mov eax, dword [0x829464]
mov dword [esp + 0x10], esi
cmp eax, esi
je 0x716f78
lea edx, [esp + 0x10]
push edx
push eax
call fcn.00407b70
add esp, 8
test al, al
je 0x716f6d
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x716f6d
cmp dword [eax], 0x29874362
je 0x716f78
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x8294b0]
mov dword [esp + 0x10], esi
cmp eax, esi
je 0x716fb2
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00407b70
add esp, 8
test al, al
je 0x716fa7
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x716fa7
cmp dword [eax], 0xbad0bad
je 0x716fb2
inc dword [0x8294f0]
call fcn.0045dca0
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
mov byte [0x81c6fc], 0
xor edi, edi
cmp esi, edi
je 0x716fcb
fld dword [esi]
jmp 0x716fd1
fld dword [0x89fe2c]
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
fstp dword [esp + 0x6c]
mov esi, 0x7d5810
push eax
lea ecx, [esp + 0x78]
mov byte [esp + 0x6c], 0
mov byte [esp + 0x6d], 0
mov dword [esp + 0x74], edx
mov byte [esp + 0x7c], 0
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x78], esi
call fcn.00708af0
lea ecx, [esp + 0x68]
mov byte [esp + 0x69], 1
push ecx
mov ecx, dword [esp + 0x34]
call fcn.0073db50
push edi
lea ecx, [esp + 0x78]
call fcn.00708af0
push edi
lea ecx, [esp + 0x78]
mov dword [esp + 0x78], esi
call fcn.00708af0
mov esi, dword [esp + 0x9c]
jmp 0x717047
xor edi, edi
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x14]
push eax
call fcn.006a9be0
add esp, 4
test al, al
jne 0x717064
mov dword [esp + 0x24], 2
jmp 0x7170ca
mov ecx, dword [ebx]
mov al, byte [ecx + 0x61]
test al, al
je 0x7170ca
cmp dword [ecx + 0x68], edi
je 0x7170be
mov eax, dword [esp + 0x1c]
fld dword [eax]
fchs
fstp dword [esp + 0x5c]
fld dword [eax + 4]
fchs
fstp dword [esp + 0x60]
fld dword [eax + 8]
mov eax, dword [ebx + 0xc]
fchs
fstp dword [esp + 0x64]
cmp eax, edi
je 0x71709c
mov eax, dword [eax + 4]
jmp 0x71709e
xor eax, eax
mov edx, dword [esp + 0x34]
mov ecx, dword [ecx + 0x68]
push edx
lea edx, [esp + 0x60]
push edx
push eax
mov eax, dword [esp + 0x24]
push eax
push ecx
call fcn.00720b80
add esp, 0x14
mov byte [ebx + 0x31], 1
mov byte [ebx + 0x30], 1
mov dword [esp + 0x24], 1
mov al, byte [ebx + 0x31]
test al, al
jne 0x71741e
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, 0x85cb40
fld dword [esi]
fsub dword [eax]
fstp dword [esp + 0x5c]
fld dword [esi + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x60]
fld dword [esi + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x64]
call fcn.005e6780
and eax, 0x7fffffff
mov ecx, 0x1001
cdq
idiv ecx
push ecx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x34], edx
lea edx, [esp + 0x60]
fild dword [esp + 0x34]
fmul dword [0x7e547c]
fstp dword [esp]
push edx
push esi
call fcn.005f5900
mov eax, dword [ebx]
mov dl, byte [esp + 0x17]
test dl, dl
mov ecx, dword [eax + 0xb8]
mov eax, dword [eax + 0x28]
sete dl
cmp eax, 0xffffffff
mov dword [esp + 0x58], ecx
mov byte [esp + 0x20], dl
je 0x7173cd
push eax
call fcn.0045c0b0
xor edi, edi
add esp, 4
cmp eax, edi
je 0x7173cd
push edi
add eax, 0x14
push 4
push eax
mov eax, dword [0x8294dc]
lea ecx, [eax*4 + 0x8294b4]
push ecx
call fcn.0045cba0
mov eax, dword [0x8294dc]
add esp, 0x10
lea esi, [eax*4 + 0x8294b4]
inc eax
cmp eax, 8
mov dword [esp + 0x30], esi
mov dword [0x8294dc], eax
jl 0x7171a6
mov dword [0x8294dc], edi
push edi
call fcn.0045d120
mov eax, dword [0x81c700]
add esp, 4
inc eax
cmp eax, 0x186a0
mov dword [0x81c700], eax
jb 0x7173c5
mov eax, dword [0x820dd0]
mov ecx, dword [0x829478]
mov edx, eax
mov dword [0x81c700], edi
sub edx, ecx
cmp edx, eax
jne 0x7171f4
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x820dd0]
mov ecx, dword [0x829478]
mov edx, ecx
sub edx, eax
cmp edx, ecx
jne 0x717207
inc dword [0x8294f0]
call fcn.0045dca0
mov al, byte [0x81c644]
test al, al
jne 0x717221
mov ecx, 0x83f450
call fcn.005ddd50
mov byte [0x81c644], 1
call dword [sym.imp.WINMM.dll_timeGetTime]
mov ecx, dword [0x83f450]
cmp eax, ecx
jbe 0x717235
sub eax, ecx
jmp 0x71723d
mov ecx, dword [0x83f454]
add eax, ecx
mov ecx, dword [0x829468]
cmp eax, ecx
jb 0x71725d
mov edx, eax
or edx, ecx
je 0x71725d
mov edx, eax
sub edx, ecx
cmp edx, 0x3a98
jbe 0x7173c5
mov cl, byte [0x81c6fc]
test cl, cl
jne 0x7173c5
mov ecx, dword [0x8294e8]
mov dword [0x829468], eax
mov eax, dword [0x829478]
cmp ecx, edi
mov byte [0x81c6fc], 1
not eax
jle 0x7172d9
mov ebx, 0x820e44
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx]
test ecx, ecx
je 0x7172cb
mov esi, dword [ecx + 4]
test esi, esi
jle 0x7172cb
mov edx, dword [ecx]
mov edi, dword [edx + 0xc]
sar edi, 2
test edx, edx
je 0x7172cb
test esi, esi
jle 0x7172cb
mov ebp, esi
mov ecx, dword [edx]
xor eax, ecx
lea ecx, [edx + 0x14]
test edi, edi
jle 0x7172c5
mov esi, edi
xor eax, dword [ecx]
add ecx, 4
dec esi
jne 0x7172bd
mov edx, dword [edx + 4]
dec ebp
jne 0x7172b0
mov ecx, dword [esp + 0x2c]
add ebx, 4
dec ecx
mov dword [esp + 0x2c], ecx
jne 0x717291
cmp eax, dword [0x8294d8]
je 0x7172ec
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x8294e8]
xor esi, esi
cmp eax, esi
je 0x7173b6
mov eax, dword [0x829464]
mov dword [esp + 0x10], esi
cmp eax, esi
je 0x71737c
push eax
call fcn.0045c0b0
add esp, 4
cmp eax, esi
je 0x717371
mov edx, dword [0x829488]
push esi
add eax, 0x14
push 4
push eax
lea eax, [edx*4 + 0x82948c]
push eax
call fcn.0045cba0
mov eax, dword [0x829488]
add esp, 0x10
lea ecx, [eax*4 + 0x82948c]
inc eax
cmp eax, 8
mov dword [esp + 0x10], ecx
mov dword [0x829488], eax
jl 0x717353
mov dword [0x829488], esi
push esi
call fcn.0045d120
add esp, 4
call fcn.004059e0
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x717371
cmp dword [eax], 0x29874362
je 0x71737c
inc dword [0x8294f0]
call fcn.0045dca0
mov eax, dword [0x8294b0]
mov dword [esp + 0x10], esi
cmp eax, esi
je 0x7173b6
lea edx, [esp + 0x10]
push edx
push eax
call fcn.00407b70
add esp, 8
test al, al
je 0x7173ab
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x7173ab
cmp dword [eax], 0xbad0bad
je 0x7173b6
inc dword [0x8294f0]
call fcn.0045dca0
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x54]
mov byte [0x81c6fc], 0
test esi, esi
je 0x7173cd
fld dword [esi]
jmp 0x7173d3
fld dword [0x89fe2c]
fcomp dword [0x7cd7b4]
fnstsw ax
test ah, 1
je 0x7173e5
mov byte [esp + 0x20], 0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x7173f1
mov eax, dword [eax + 4]
jmp 0x7173f3
xor eax, eax
mov ecx, dword [esp + 0x20]
push 1
push ecx
push eax
mov eax, dword [esp + 0xa8]
lea ecx, [esp + 0x74]
mov edx, dword [eax]
mov eax, dword [eax + 4]
push edx
mov edx, dword [esp + 0x68]
push ecx
mov ecx, dword [eax + 0x14]
push edx
push ecx
call fcn.006a96c0
add esp, 0x1c
push 0
lea ecx, [esp + 0x48]
call fcn.00708af0
push 0
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], 0x7d5810
call fcn.00708af0
mov eax, dword [esp + 0x24]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x88
ret 4