Function at 0x425a60
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x760
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 8], eax
mov edx, ecx
xor eax, eax
mov ecx, dword [ebp + 8]
test ecx, ecx
push ebx
push esi
mov ebx, ecx
mov dword [ebp - 0x718], edx
sete byte [ebp - 0x6dc]
mov dword [ebp - 0x72c], ecx
test byte [0x457aa0], 1
mov esi, 4
push edi
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jne 0x425bb8
mov edi, 0x457aa0
lock bts dword [edi], 0x1f
jae 0x425ad7
test byte [0x457aa0], 1
jne 0x425bb8
mov ecx, edi
call fcn.00429b00
jmp 0x425bb0
push 4
lea eax, [ebp - 0x10]
push eax
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x425b10
mov ax, word [ebp - 0x10]
test ax, ax
je 0x425b10
movzx ecx, word [0x457aa8]
cmp word [ebp - 0xe], 0
movzx eax, ax
cmove ecx, eax
mov word [0x457aa8], cx
push 4
lea eax, [ebp - 0x10]
push eax
push 0xf
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
test eax, eax
je 0x425b49
mov ax, word [ebp - 0x10]
test ax, ax
je 0x425b49
movzx ecx, word [0x457ae4]
cmp word [ebp - 0xe], 0
movzx eax, ax
cmove ecx, eax
mov word [0x457ae4], cx
cmp word [0x457aa8], 0x2e
je 0x425b67
push 0x452812
push 0
call fcn.00433367
add esp, 8
mov dword [0x458b00], eax
lock bts dword [edi], 0
jb 0x425bb0
mov esi, dword [0x457aa4]
test esi, esi
je 0x425b81
push 0
push esi
call dword [sym.imp.ntdll.dll_NtSetEvent]
mov eax, 0xfffffffe
lock xadd dword [edi], eax
shr eax, 1
and eax, 0x7fff
sub eax, 1
jne 0x425bab
test esi, esi
je 0x425bab
push esi
call dword [sym.imp.ntdll.dll_NtClose]
mov dword [0x457aa4], 0
mov esi, 4
mov edx, dword [ebp - 0x718]
xor eax, eax
fld qword [0x453bc8]
fld qword [0x453bb8]
mov dword [ebp - 0x728], 3
dec esi
mov dword [ebp - 0x720], eax
mov edi, edx
mov dword [ebp - 0x738], esi
mov ecx, edx
mov dword [ebp - 0x708], edi
mov esi, edx
mov dword [ebp - 0x6e0], 0
add edx, 0x18
mov dword [ebp - 0x718], edx
mov edx, dword [edi]
mov eax, edx
and eax, 0x3f
mov dword [ebp - 0x6ec], edx
cmp eax, 0xc
ja case.default.0x425c10
jmp dword [eax*4 + 0x426bd8]
cmp byte [ebp - 0x6dc], 0
fstp st(1)
fstp st(0)
jne 0x4267be
mov eax, dword [ebp - 0x6d8]
add eax, 2
cmp eax, 0x82
jbe 0x425c5c
mov eax, dword [ebp - 0x6d8]
add ebx, 2
add eax, 2
mov byte [ebp - 0x6dc], 1
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
mov ax, word [edi + 0x10]
jmp 0x4267bb
cmp byte [ebp - 0x6dc], 0
fstp st(1)
fstp st(0)
jne 0x425cb8
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [edi + 0x10]
add eax, ecx
cmp eax, 0x82
jbe 0x425cab
mov eax, ecx
mov byte [ebp - 0x6dc], 1
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, ecx
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
push ecx
push dword [edi + 0x14]
push ebx
call fcn.0042ea70
add esp, 0xc
mov eax, dword [edi + 0x10]
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, dword [edi + 0x10]
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
mov ecx, dword [edi + 0x10]
fstp st(1)
fstp st(0)
call fcn.00412950
cmp byte [ebp - 0x6dc], 0
lea esi, [eax + eax]
jne 0x425d35
mov eax, dword [ebp - 0x6d8]
add eax, esi
cmp eax, 0x82
jbe 0x425d28
mov eax, esi
mov byte [ebp - 0x6dc], 1
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, esi
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
push esi
push dword [edi + 0x10]
push ebx
call fcn.0042ea70
add esp, 0xc
mov eax, esi
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, esi
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
fstp st(1)
fstp st(0)
cmp edx, 3
jne 0x425d6c
mov eax, dword [ebp - 0x708]
mov edi, dword [edi + 0x14]
mov esi, dword [eax + 0x10]
jmp 0x425d7d
mov edi, dword [edi + 0x10]
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x425d74
sub esi, ecx
push esi
push edi
lea eax, [ebp - 0x724]
push eax
call dword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeSize]
test eax, eax
js 0x426a9c
cmp byte [ebp - 0x6dc], 0
jne 0x425ded
mov eax, dword [ebp - 0x6d8]
mov ecx, dword [ebp - 0x724]
add eax, ecx
cmp eax, 0x82
jbe 0x425dd9
mov eax, ecx
mov byte [ebp - 0x6dc], 1
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, ecx
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
push esi
push edi
push 0
push ecx
push ebx
call dword [sym.imp.ntdll.dll_RtlMultiByteToUnicodeN]
test eax, eax
js 0x426a9c
mov ecx, dword [ebp - 0x724]
mov eax, ecx
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, ecx
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
mov eax, dword [ecx + 0x10]
mov ecx, eax
cdq
mov esi, eax
shr ecx, 0x1f
xor esi, edx
mov dword [ebp - 0x6e0], ecx
sub esi, edx
mov edx, dword [ebp - 0x6ec]
jmp 0x425e33
mov esi, dword [edi + 0x10]
fstp st(1)
fstp st(0)
mov dword [ebp - 0x710], 0xa
test edx, 0x100
je 0x425e5c
mov cl, byte [edi + 0xa]
lea eax, [ecx - 2]
cmp al, 0x43
ja 0x425e5c
movzx eax, cl
mov dword [ebp - 0x710], eax
test edx, 0x20000000
mov ecx, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
mov eax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
cmovne eax, ecx
xor edi, edi
mov dword [ebp - 0x700], eax
lea ecx, [ebp - 0x16]
test esi, esi
je 0x425f17
test edx, 0x10000
je 0x425eed
xor eax, eax
mov dword [ebp - 0x6e8], eax
mov eax, esi
xor edx, edx
div dword [ebp - 0x710]
inc edi
mov esi, eax
mov dword [ebp - 0x6f0], edi
mov eax, dword [ebp - 0x700]
movsx ax, byte [eax + edx]
mov word [ecx], ax
sub ecx, 2
mov eax, dword [ebp - 0x6e8]
inc eax
mov dword [ebp - 0x6e8], eax
cmp eax, 3
jne 0x425ee7
test esi, esi
je 0x425f2e
mov ax, word [0x457ae4]
inc edi
mov word [ecx], ax
sub ecx, 2
xor eax, eax
mov dword [ebp - 0x6f0], edi
mov dword [ebp - 0x6e8], eax
test esi, esi
jne 0x425e92
jmp 0x425f2e
mov ebx, dword [ebp - 0x700]
mov eax, esi
xor edx, edx
div dword [ebp - 0x710]
inc edi
mov esi, eax
movsx ax, byte [ebx + edx]
mov word [ecx], ax
sub ecx, 2
test esi, esi
jne 0x425ef3
mov ebx, dword [ebp - 0x6e4]
jmp 0x425f28
mov eax, 0x30
lea ecx, [ebp - 0x18]
mov word [ebp - 0x16], ax
mov edi, 1
mov dword [ebp - 0x6f0], edi
mov esi, dword [ebp - 0x6ec]
xor edx, edx
cmp dword [ebp - 0x6e0], edx
je 0x425f45
mov edx, 1
jmp 0x425f53
test esi, 0x20000
mov eax, 1
cmovne edx, eax
mov eax, esi
mov dword [ebp - 0x6e8], edx
and eax, 0x50000
cmp eax, 0x40000
jne 0x425f97
mov eax, dword [ebp - 0x708]
movzx esi, word [eax + 6]
lea eax, [edx + edi]
cmp eax, esi
jae 0x425f91
or dword [ebp - 0x6e0], 4
sub esi, edx
sub esi, edi
add edx, esi
mov dword [ebp - 0x730], esi
mov dword [ebp - 0x6e8], edx
mov esi, dword [ebp - 0x6ec]
add ecx, 2
cmp byte [ebp - 0x6dc], 0
mov dword [ebp - 0x6f4], ecx
jne 0x426048
lea eax, [edx + edi]
mov edx, dword [ebp - 0x6d8]
lea eax, [edx + eax*2]
cmp eax, 0x82
jbe 0x425fdf
mov eax, dword [ebp - 0x6e8]
mov ecx, edx
add eax, edi
mov byte [ebp - 0x6dc], 1
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x6d8], ecx
jmp 0x426a9c
mov eax, dword [ebp - 0x6e0]
test al, 1
je 0x425ff0
mov edx, 0x2d
jmp 0x425ffd
test esi, 0x20000
je 0x426003
mov edx, 0x2b
mov word [ebx], dx
add ebx, 2
test al, 4
je 0x426032
mov edx, dword [ebp - 0x730]
test edx, edx
je 0x42602f
mov ecx, edx
mov eax, 0x300030
shr ecx, 1
mov edi, ebx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov ecx, dword [ebp - 0x6f4]
mov edi, dword [ebp - 0x6f0]
lea ebx, [ebx + edx*2]
lea esi, [edi + edi]
push esi
push ecx
push ebx
call fcn.0042ea70
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x6e4], ebx
mov eax, dword [ebp - 0x6e8]
mov ecx, dword [ebp - 0x6d8]
add eax, edi
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x6d8], ecx
jmp 0x426a9c
mov esi, dword [edi + 0x14]
fstp st(1)
mov ecx, dword [edi + 0x10]
fstp st(0)
mov dword [ebp - 0x710], ecx
test esi, esi
jg 0x4260a1
jl 0x42607e
test ecx, ecx
jae 0x4260a1
neg ecx
mov dword [ebp - 0x6e0], 1
adc esi, 0
neg esi
jmp 0x42609b
mov ecx, dword [edi + 0x10]
fstp st(1)
mov esi, dword [edi + 0x14]
fstp st(0)
mov dword [ebp - 0x710], ecx
mov edi, dword [ebp - 0x6ec]
mov edx, 0xa
mov dword [ebp - 0x6f0], edx
mov dword [ebp - 0x6e8], 0
test edi, 0x100
je 0x426101
mov eax, dword [ebp - 0x708]
mov dword [ebp - 0x6f0], 0xa
mov dword [ebp - 0x6e8], 0
mov dl, byte [eax + 0xa]
lea eax, [edx - 2]
cmp al, 0x43
ja 0x4260fc
movzx eax, dl
cdq
mov dword [ebp - 0x6e8], edx
mov edx, eax
mov dword [ebp - 0x6f0], eax
jmp 0x426101
mov edx, 0xa
test edi, 0x20000000
mov eax, str.0123456789abcdefghijklmnopqrstuvwxyz_________._:_________
mov edi, str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_________._:_________
cmovne eax, edi
lea edi, [ebp - 0x16]
mov dword [ebp - 0x6f4], eax
xor eax, eax
mov dword [ebp - 0x6f8], eax
mov eax, ecx
or eax, esi
je 0x42622a
test dword [ebp - 0x6ec], 0x10000
mov ebx, dword [ebp - 0x710]
je 0x4261e4
xor eax, eax
mov dword [ebp - 0x700], eax
lea ecx, [ecx]
push ebx
push dword [ebp - 0x6e8]
push edx
push esi
push ebx
call fcn.00445bd0
mov dword [ebp - 0x710], ebx
pop ebx
mov ebx, eax
mov esi, edx
mov eax, dword [ebp - 0x6f4]
mov edx, dword [ebp - 0x700]
inc edx
mov dword [ebp - 0x700], edx
movsx cx, byte [eax + ecx]
mov word [edi], cx
sub edi, 2
mov ecx, dword [ebp - 0x6f8]
inc ecx
mov dword [ebp - 0x6f8], ecx
cmp edx, 3
jne 0x4261bb
mov eax, ebx
or eax, esi
je 0x4261c7
mov ax, word [0x457ae4]
inc ecx
mov word [edi], ax
sub edi, 2
xor eax, eax
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x700], eax
mov edx, dword [ebp - 0x6f0]
mov eax, ebx
or eax, esi
jne 0x426150
mov ebx, dword [ebp - 0x6e4]
mov esi, dword [ebp - 0x6ec]
xor edx, edx
cmp dword [ebp - 0x6e0], edx
je 0x426243
mov edx, 1
jmp 0x426251
push ebx
push dword [ebp - 0x6e8]
push edx
push esi
push ebx
call fcn.00445bd0
mov dword [ebp - 0x700], ebx
pop ebx
mov ebx, eax
mov esi, edx
mov eax, dword [ebp - 0x6f4]
mov edx, dword [ebp - 0x6f0]
movsx ax, byte [eax + ecx]
mov ecx, dword [ebp - 0x6f8]
inc ecx
mov dword [ebp - 0x6f8], ecx
mov word [edi], ax
mov eax, ebx
sub edi, 2
or eax, esi
jne 0x4261e4
jmp 0x4261c7
mov eax, 0x30
lea edi, [ebp - 0x18]
mov ecx, 1
mov word [ebp - 0x16], ax
mov dword [ebp - 0x6f8], ecx
jmp 0x4261cd
test esi, 0x20000
mov eax, 1
cmovne edx, eax
mov eax, esi
mov dword [ebp - 0x700], edx
and eax, 0x50000
cmp eax, 0x40000
jne 0x426295
mov eax, dword [ebp - 0x708]
movzx esi, word [eax + 6]
lea eax, [edx + ecx]
cmp eax, esi
jae 0x42628f
or dword [ebp - 0x6e0], 4
sub esi, edx
sub esi, ecx
add edx, esi
mov dword [ebp - 0x734], esi
mov dword [ebp - 0x700], edx
mov esi, dword [ebp - 0x6ec]
add edi, 2
cmp byte [ebp - 0x6dc], 0
mov dword [ebp - 0x6f4], edi
jne 0x42634a
lea eax, [edx + ecx]
mov edx, dword [ebp - 0x6d8]
lea eax, [edx + eax*2]
cmp eax, 0x82
jbe 0x4262e1
mov eax, dword [ebp - 0x6f8]
mov ecx, edx
add eax, dword [ebp - 0x700]
mov byte [ebp - 0x6dc], 1
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x6d8], ecx
jmp 0x426a9c
mov eax, dword [ebp - 0x6e0]
test al, 1
je 0x4262f2
mov edx, 0x2d
jmp 0x4262ff
test esi, 0x20000
je 0x426305
mov edx, 0x2b
mov word [ebx], dx
add ebx, 2
test al, 4
je 0x426334
mov edx, dword [ebp - 0x734]
test edx, edx
je 0x426331
mov ecx, edx
mov eax, 0x300030
shr ecx, 1
mov edi, ebx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [ebp - 0x6f4]
mov ecx, dword [ebp - 0x6f8]
lea ebx, [ebx + edx*2]
lea esi, [ecx + ecx]
push esi
push edi
push ebx
call fcn.0042ea70
add esp, 0xc
add ebx, esi
mov dword [ebp - 0x6e4], ebx
mov eax, dword [ebp - 0x6f8]
mov ecx, dword [ebp - 0x6d8]
add eax, dword [ebp - 0x700]
lea ecx, [ecx + eax*2]
mov dword [ebp - 0x6d8], ecx
jmp 0x426a9c
mov dword [ebp - 0x6e0], 0
fstp st(1)
fstp st(0)
test dl, 0x40
je 0x426390
movzx eax, word [edi + 4]
mov ecx, 0xa2
cmp eax, 0xa2
cmova eax, ecx
jmp 0x426395
mov eax, 6
mov ecx, edx
test edx, 0x1000
je 0x4263ac
mov dword [ebp - 0x6ec], edx
mov edx, 0x65
jmp 0x4263c8
test dword [ebp - 0x6ec], 0x2000
mov edx, 0x66
je 0x4263c8
mov dword [ebp - 0x6ec], ecx
mov edx, 0x61
push dword [0x458b00]
test dword [ebp - 0x6ec], 0x20000000
lea ecx, [ebp - 0x413]
fld qword [edi + 0x10]
push 0
push 0
push eax
lea eax, [edx - 0x20]
mov dword [ebp - 0x710], ecx
cmove eax, edx
push eax
push 0x15e
lea eax, [ebp - 0x574]
push eax
mov eax, ecx
push 0x3ff
push eax
lea eax, [ebp - 0x754]
push eax
fstp qword [ebp - 0x754]
call fcn.004349fd
mov edi, dword [edi]
add esp, 0x28
test edi, 0x8000
je 0x426433
lea ecx, [ebp - 0x413]
call fcn.004244b0
mov edi, dword [esi]
lea esi, [ebp - 0x413]
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x426440
sub esi, ecx
cmp byte [ebp - 0x413], 0x2d
mov dword [ebp - 0x6f4], esi
jne 0x426472
lea ecx, [ebp - 0x412]
dec esi
mov edx, 1
mov dword [ebp - 0x710], ecx
mov dword [ebp - 0x6f4], esi
jmp 0x42648c
mov edx, dword [ebp - 0x6e0]
test edi, 0x20000
mov ecx, dword [ebp - 0x710]
mov eax, 2
cmovne edx, eax
mov eax, edi
mov dword [ebp - 0x6e0], edx
and eax, 0x13000
cmp eax, 0x10000
jne 0x426625
mov al, byte [ecx]
mov edi, ecx
sub al, 0x30
mov dword [ebp - 0x6e8], ecx
cmp al, 0xa
jae 0x4264c4
mov al, byte [edi + 1]
inc edi
sub al, 0x30
cmp al, 0xa
jb 0x4264b4
mov dword [ebp - 0x6e8], edi
mov edx, edi
sub edx, ecx
mov dword [ebp - 0x700], edx
je 0x4264e7
lea ecx, [edx + 2]
mov eax, 0xaaaaaaab
mul ecx
mov eax, edx
mov edx, dword [ebp - 0x700]
shr eax, 1
dec eax
jmp 0x4264e9
xor eax, eax
lea ecx, [eax + esi]
mov dword [ebp - 0x6f0], eax
add ecx, ecx
cmp byte [ebp - 0x6dc], 0
jne 0x42652c
cmp dword [ebp - 0x6e0], 0
lea eax, [ecx + 2]
cmove eax, ecx
mov ecx, dword [ebp - 0x6dc]
add eax, dword [ebp - 0x6d8]
cmp eax, 0x82
movzx ecx, cl
mov eax, 1
cmova ecx, eax
mov dword [ebp - 0x6dc], ecx
mov ecx, edx
lea eax, [edx + 2]
xor edx, edx
div dword [ebp - 0x728]
cmp byte [ebp - 0x6dc], 0
mov eax, dword [ebp - 0x6e0]
jne 0x4265c2
test al, 1
je 0x426553
mov edi, 0x2d
jmp 0x42655c
test al, 2
je 0x42656e
mov edi, 0x2b
mov word [ebx], di
add ebx, 2
mov edi, dword [ebp - 0x6e8]
mov dword [ebp - 0x6e4], ebx
cmp dword [ebp - 0x700], 0
je 0x4265c2
mov esi, dword [ebp - 0x710]
mov di, word [0x457ae4]
movsx ax, byte [esi]
lea esi, [esi + 1]
dec ecx
mov word [ebx], ax
mov eax, edx
add ebx, 2
dec edx
test eax, eax
jne 0x4265a6
test ecx, ecx
je 0x4265aa
mov word [ebx], di
lea edx, [eax + 2]
add ebx, 2
test ecx, ecx
jne 0x426584
mov esi, dword [ebp - 0x6f4]
mov edi, dword [ebp - 0x6e8]
mov eax, dword [ebp - 0x6e0]
mov dword [ebp - 0x6e4], ebx
mov edx, dword [ebp - 0x6d8]
test eax, eax
mov eax, dword [ebp - 0x6f0]
lea ecx, [edx + 2]
cmove ecx, edx
add eax, dword [ebp - 0x700]
sub esi, dword [ebp - 0x700]
cmp byte [ebp - 0x6dc], 0
lea eax, [ecx + eax*2]
mov dword [ebp - 0x6d8], eax
jne 0x426aa2
push ebx
mov edx, esi
mov ecx, edi
call fcn.00413590
lea ecx, [esi + esi]
mov eax, ecx
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, ecx
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
xor ecx, ecx
test edx, edx
setne cl
mov edx, ecx
test edi, 0x40000
je 0x42665d
mov eax, dword [ebp - 0x708]
movzx edi, word [eax + 6]
lea eax, [ecx + esi]
cmp eax, edi
jae 0x42665d
or dword [ebp - 0x6e0], 4
sub edi, ecx
sub edi, esi
mov dword [ebp - 0x71c], edi
lea edx, [ecx + edi]
jmp 0x426663
mov edi, dword [ebp - 0x71c]
cmp byte [ebp - 0x6dc], 0
jne 0x4266d7
mov ecx, dword [ebp - 0x6d8]
lea eax, [edx + esi]
lea eax, [ecx + eax*2]
cmp eax, 0x82
jbe 0x426688
mov byte [ebp - 0x6dc], 1
jmp 0x4266d7
mov eax, dword [ebp - 0x6e0]
test al, 1
je 0x426699
mov ecx, 0x2d
jmp 0x4266a2
test al, 2
je 0x4266ae
mov ecx, 0x2b
mov word [ebx], cx
add ebx, 2
mov dword [ebp - 0x6e4], ebx
test al, 4
je 0x4266d7
test edi, edi
je 0x4266ce
mov ecx, edi
mov eax, 0x300030
shr ecx, 1
mov edi, ebx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov edi, dword [ebp - 0x71c]
lea ebx, [ebx + edi*2]
mov dword [ebp - 0x6e4], ebx
cmp byte [ebp - 0x6dc], 0
mov eax, dword [ebp - 0x6d8]
lea eax, [eax + edx*2]
mov dword [ebp - 0x6d8], eax
jne 0x426aa2
mov ecx, dword [ebp - 0x710]
mov edx, esi
push ebx
call fcn.00413590
lea ecx, [esi + esi]
mov eax, ecx
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, ecx
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
mov eax, dword [ebp - 0x708]
xor edi, edi
mov dword [ebp - 0x74c], edi
mov dword [ebp - 0x6f4], edi
mov esi, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, edx
mov ecx, edx
mov dword [ebp - 0x744], esi
and eax, 0x7fffffff
and ecx, 0x80000000
or esi, edx
mov dword [ebp - 0x740], eax
fild qword [ebp - 0x744]
mov dword [ebp - 0x748], ecx
fild qword [ebp - 0x74c]
fchs
faddp st(1)
jne 0x4267db
cmp byte [ebp - 0x6dc], 0
fstp st(0)
fstp st(1)
fstp st(0)
jne 0x4267be
mov eax, dword [ebp - 0x6d8]
add eax, 2
cmp eax, 0x82
jbe 0x4267b6
mov eax, dword [ebp - 0x6d8]
add ebx, 2
add eax, 2
mov byte [ebp - 0x6dc], 1
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
mov eax, 0x30
mov word [ebx], ax
mov eax, dword [ebp - 0x6d8]
add ebx, 2
add eax, 2
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
mov edx, dword [ebp - 0x6ec]
mov esi, dword [ebp - 0x708]
test edx, 0x100
je 0x4267f5
movzx ecx, byte [esi + 0xa]
jmp 0x4267fb
mov ecx, dword [0x4577b0]
fcomi st(2)
jb 0x426815
cmp edi, 7
jae 0x42680f
cmp edi, ecx
jae 0x42680f
fmul st(1)
inc edi
fcomi st(2)
jae 0x4267ff
mov dword [ebp - 0x6f4], edi
fstp st(2)
fstp st(0)
test dl, 0x40
je 0x426824
movzx eax, word [esi + 4]
jmp 0x426829
mov eax, 2
push dword [0x458b00]
movzx eax, ax
mov ecx, 0xa2
push 0
cmp eax, 0xa2
mov dword [ebp - 0x6e8], 0
push 0
cmova eax, ecx
lea ecx, [ebp - 0x413]
push eax
push 0x66
push 0x15e
lea eax, [ebp - 0x6d4]
mov dword [ebp - 0x700], ecx
push eax
mov eax, ecx
push 0x3ff
push eax
lea eax, [ebp - 0x75c]
push eax
fstp qword [ebp - 0x75c]
call fcn.004349fd
add esp, 0x28
lea ecx, [ebp - 0x413]
call fcn.004244b0
lea esi, [ebp - 0x413]
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x4268a0
sub esi, ecx
cmp byte [ebp - 0x413], 0x2d
mov dword [ebp - 0x6f0], esi
jne 0x4268d7
lea edx, [ebp - 0x412]
mov dword [ebp - 0x6e8], 1
dec esi
mov dword [ebp - 0x700], edx
mov dword [ebp - 0x6f0], esi
jmp 0x4268dd
mov edx, dword [ebp - 0x700]
mov al, byte [edx]
mov ecx, edx
sub al, 0x30
mov dword [ebp - 0x6e0], edx
cmp al, 0xa
jae 0x426900
lea ecx, [ecx]
mov al, byte [ecx + 1]
inc ecx
sub al, 0x30
cmp al, 0xa
jb 0x4268f0
mov dword [ebp - 0x6e0], ecx
mov eax, ecx
sub eax, edx
mov dword [ebp - 0x710], eax
je 0x42691d
lea ecx, [eax + 2]
mov eax, 0xaaaaaaab
mul ecx
mov eax, edx
shr eax, 1
dec eax
jmp 0x42691f
xor eax, eax
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x6f8], eax
add eax, esi
add eax, eax
test dl, dl
jne 0x42695d
cmp dword [ebp - 0x6e8], 0
lea ecx, [eax + 2]
cmove ecx, eax
movzx eax, dl
add ecx, dword [ebp - 0x6d8]
cmp ecx, 0x82
mov ecx, 1
cmova eax, ecx
mov byte [ebp - 0x6dc], al
mov eax, dword [ebp - 0x710]
xor edx, edx
mov ecx, eax
add eax, 2
div dword [ebp - 0x728]
cmp byte [ebp - 0x6dc], 0
jne 0x4269d5
cmp dword [ebp - 0x6e8], 0
je 0x42698d
mov eax, 0x2d
mov word [ebx], ax
add ebx, 2
cmp dword [ebp - 0x710], 0
je 0x4269d5
mov esi, dword [ebp - 0x700]
mov di, word [0x457ae4]
movsx ax, byte [esi]
lea esi, [esi + 1]
dec ecx
mov word [ebx], ax
mov eax, edx
add ebx, 2
dec edx
test eax, eax
jne 0x4269c5
test ecx, ecx
je 0x4269c9
mov word [ebx], di
lea edx, [eax + 2]
add ebx, 2
test ecx, ecx
jne 0x4269a3
mov edi, dword [ebp - 0x6f4]
mov esi, dword [ebp - 0x6f0]
mov eax, dword [ebp - 0x6d8]
cmp dword [ebp - 0x6e8], 0
lea ecx, [eax + 2]
cmove ecx, eax
mov eax, dword [ebp - 0x6f8]
add eax, dword [ebp - 0x710]
sub esi, dword [ebp - 0x710]
cmp byte [ebp - 0x6dc], 0
lea edx, [ecx + eax*2]
mov dword [ebp - 0x700], edx
jne 0x426a76
mov ecx, dword [ebp - 0x6e0]
mov edx, esi
push ebx
call fcn.00413590
mov edx, dword [ebp - 0x700]
lea ecx, [esi + esi]
mov eax, ecx
add edx, ecx
shr eax, 1
mov dword [ebp - 0x700], edx
lea ebx, [ebx + eax*2]
mov eax, dword [edi*8 + 0x457aac]
add eax, 2
add eax, edx
cmp eax, 0x82
jbe 0x426a4e
mov byte [ebp - 0x6dc], 1
jmp 0x426a76
mov eax, 0x20
mov word [ebx], ax
lea eax, [ebx + 2]
push dword [edi*8 + 0x457aac]
push dword [edi*8 + 0x457ab0]
push eax
call fcn.0042ea70
mov edx, dword [ebp - 0x700]
add esp, 0xc
mov ecx, dword [edi*8 + 0x457aac]
lea eax, [ecx + 2]
shr eax, 1
lea ebx, [ebx + eax*2]
lea eax, [ecx + 2]
mov dword [ebp - 0x6e4], ebx
add eax, edx
mov dword [ebp - 0x6d8], eax
jmp 0x426aa2
fstp st(1)
fstp st(0)
mov eax, dword [ebp - 0x6d8]
mov edi, dword [ebp - 0x708]
mov ecx, eax
sub ecx, dword [ebp - 0x720]
mov edx, dword [edi]
test edx, 0xc0000000
je 0x426b6d
movzx esi, word [edi + 6]
add esi, esi
cmp ecx, esi
jae 0x426b6d
sub esi, ecx
cmp byte [ebp - 0x6dc], 0
jne 0x426b52
add eax, esi
cmp eax, 0x82
jbe 0x426ae9
mov byte [ebp - 0x6dc], 1
jmp 0x426b52
test dl, dl
jns 0x426af3
movzx eax, word [edi + 8]
jmp 0x426af8
mov eax, 0x20
mov edi, esi
mov dword [ebp - 0x6f4], eax
shr edi, 1
test edx, edx
jns 0x426b10
test edi, edi
je 0x426b52
mov ecx, edi
mov edi, ebx
jmp 0x426b3f
mov eax, ecx
mov edx, ebx
and eax, 0xfffffffe
sub edx, eax
push ecx
push edx
mov dword [ebp - 0x720], edx
lea eax, [edx + edi*2]
push eax
call fcn.0042f0f0
add esp, 0xc
test edi, edi
je 0x426b52
mov eax, dword [ebp - 0x6f4]
mov ecx, edi
mov edi, dword [ebp - 0x720]
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
mov eax, esi
shr eax, 1
lea ebx, [ebx + eax*2]
mov eax, dword [ebp - 0x6d8]
add eax, esi
mov dword [ebp - 0x6e4], ebx
mov dword [ebp - 0x6d8], eax
mov esi, dword [ebp - 0x738]
fld qword [0x453bc8]
fld qword [0x453bb8]
mov edx, dword [ebp - 0x718]
test esi, esi
jne 0x425bce
mov ecx, dword [ebp - 0x6dc]
fstp st(1)
fstp st(0)
test cl, cl
jne 0x426ba7
add eax, 2
cmp eax, 0x82
jbe 0x426bce
mov cl, 1
mov eax, dword [ebp - 0x72c]
test eax, eax
je 0x426bb6
xor edx, edx
mov word [eax], dx
test cl, cl
mov ecx, dword [ebp - 8]
pop edi
sete al
xor ecx, ebp
pop esi
pop ebx
call fcn.0042d1c6
mov esp, ebp
pop ebp
ret 0xc
xor eax, eax
mov word [ebx], ax
jmp 0x426bb6