Function at 0x1056f10
Capabilities:
Get file system object information
Get geographical location
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x12721d8
call fcn.01160458
sub esp, 0x390
mov eax, dword [0x12cf8c8]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov dword [ebp - 0x378], eax
mov eax, dword [ebp + 0x10]
mov esi, ecx
push edi
mov edi, dword [ebp + 8]
push dword [esi + 0x68]
mov dword [ebp - 0x370], eax
mov eax, dword [ebp + 0x14]
lea ecx, [ebp - 0x364]
mov dword [ebp - 0x360], esi
mov dword [ebp - 0x350], edi
mov dword [ebp - 0x374], eax
mov byte [ebp - 0x331], 1
call fcn.0105626f
xor ebx, ebx
mov dword [ebp - 4], ebx
cmp dword [ebp - 0x364], ebx
je 0x10573aa
mov dword [ebp - 0x330], ebx
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x330]
push edx
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x1056fac
push dword [ebp - 0x330]
lea ecx, [esi + 0x70]
call fcn.01045196
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], 2
mov dword [ebp - 0x354], ebx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x354]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jl 0x1057003
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1057003
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x1057003
push dword [ebp - 0x340]
lea ecx, [esi + 0x84]
call fcn.01045196
push ebx
xor eax, eax
mov dword [ebp - 0x328], ebx
mov ecx, 0xac
lea edi, [ebp - 0x324]
rep stosd dword es:[edi], eax
mov eax, dword [esi + 0x84]
push 0x2b4
lea ecx, [ebp - 0x328]
push ecx
push ebx
push eax
call dword [sym.imp.SHELL32.dll_SHGetFileInfoW]
test eax, eax
jne 0x105703d
mov byte [ebp - 0x331], bl
mov eax, dword [esi + 0x84]
cmp dword [eax - 8], ebx
je 0x1057373
cmp byte [ebp - 0x331], bl
je 0x1057373
push eax
call fcn.010560a5
push 2
mov edi, eax
lea eax, [ebp - 0x33c]
push eax
push 0x20000011
push 0x400
mov esi, edx
mov dword [ebp - 0x33c], ebx
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
mov eax, dword [0x12ce0a0]
inc dword [ebp - 0x33c]
mov dword [ebp - 0x32c], 1
mov dword [ebp - 0x34c], eax
mov byte [ebp - 4], 4
push dword [ebp - 0x33c]
lea eax, [ebp - 0x34c]
push 0x1005388
push eax
call fcn.01032a1b
mov eax, dword [0x12ce0a0]
add esp, 0xc
mov dword [ebp - 0x368], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x34c]
push eax
push 0x10054c0
lea eax, [ebp - 0x35c]
push eax
call fcn.01056a30
mov byte [ebp - 4], 6
push 0x10054b8
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01045e48
mov byte [ebp - 4], 7
push eax
lea ecx, [ebp - 0x368]
call fcn.01044de0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x344]
call fcn.010328fe
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x35c]
call fcn.010328fe
cmp dword [ebp - 0x33c], ebx
je 0x105714d
mov ecx, dword [ebp - 0x33c]
mov eax, dword [ebp - 0x32c]
lea eax, [eax + eax*4]
shl eax, 1
dec dword [ebp - 0x33c]
dec ecx
jne 0x1057139
mov dword [ebp - 0x32c], eax
cmp esi, ebx
ja 0x1057505
cmp edi, 0x400
jb 0x105759b
cmp esi, ebx
ja 0x1057505
jb 0x1057177
cmp edi, 0x100000
jae 0x10574ac
mov eax, edi
shrd eax, esi, 0xa
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0x3ff
shr esi, 0xa
push edi
mov dword [ebp - 0x358], 0x4c5
mov dword [ebp - 0x344], esi
call fcn.01160750
mov esi, edx
mov edi, eax
shrd edi, esi, 0xa
shr esi, 0xa
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 9
push dword [ebp - 0x344]
lea eax, [ebp - 0x32c]
push dword [ebp - 0x348]
push 0x1005388
push eax
call fcn.01032a1b
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x35c], eax
mov byte [ebp - 4], 0xa
push esi
push edi
push dword [ebp - 0x368]
lea eax, [ebp - 0x35c]
push eax
call fcn.01032a1b
add esp, 0x20
push 0x1005244
lea eax, [ebp - 0x32c]
push eax
lea eax, [ebp - 0x338]
push eax
call fcn.01045e48
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x35c]
push ecx
push eax
lea eax, [ebp - 0x344]
push eax
call fcn.01045ddd
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x32c]
call fcn.01044de0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x344]
call fcn.010328fe
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.010328fe
mov esi, dword [sym.imp.KERNEL32.dll_GetNumberFormatW]
push ebx
push ebx
push ebx
push dword [ebp - 0x32c]
mov edi, 0x400
push ebx
push edi
call esi
cmp eax, ebx
je 0x1057331
mov ecx, dword [0x12ce0a0]
mov dword [ebp - 0x338], ecx
mov byte [ebp - 4], 0xd
inc eax
push eax
lea ecx, [ebp - 0x338]
mov dword [ebp - 0x344], eax
call fcn.0103297b
cmp eax, ebx
je 0x1057322
push dword [ebp - 0x344]
push eax
push ebx
push dword [ebp - 0x32c]
push ebx
push edi
call esi
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 0xe
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.01032a72
push dword [ebp - 0x338]
mov eax, dword [ebp - 0x360]
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.01032a1b
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x338]
call fcn.010329e8
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x344]
call fcn.010328fe
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x338]
call fcn.010328fe
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x35c]
call fcn.010328fe
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x32c]
call fcn.010328fe
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x368]
call fcn.010328fe
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x34c]
call fcn.010328fe
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1057387
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 1
push dword [ebp - 0x340]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
call edi
mov byte [ebp - 4], bl
push dword [ebp - 0x330]
call edi
mov edi, dword [ebp - 0x350]
fld qword [0x10054b0]
mov al, byte [ebp - 0x331]
push dword [esi + 0x68]
fst qword [ebp - 0x38c]
fst qword [ebp - 0x394]
lea ecx, [ebp - 0x37c]
fstp qword [ebp - 0x39c]
mov dword [ebp - 0x380], ebx
mov dword [ebp - 0x384], ebx
mov dword [ebp - 0x33c], ebx
mov byte [esi + 0xc0], al
call fcn.0105621d
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x1057688
mov ecx, dword [eax]
lea edx, [ebp - 0x39c]
push edx
lea edx, [ebp - 0x394]
push edx
push eax
call dword [ecx + 0x50]
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
lea edx, [ebp - 0x38c]
push edx
push eax
call dword [ecx + 0x60]
mov byte [esi + 0xc1], 1
mov dword [ebp - 0x340], ebx
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x37c]
mov ecx, dword [eax]
lea edx, [ebp - 0x340]
push edx
push eax
call dword [ecx + 0x78]
test eax, eax
jl 0x105747f
mov eax, dword [ebp - 0x340]
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
test eax, eax
jl 0x105747f
cmp dword [ebp - 0x330], 1
je 0x105747f
mov byte [esi + 0xc1], bl
push dword [esi + 0x68]
lea ecx, [ebp - 0x34c]
call fcn.01056298
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x34c], ebx
je 0x10575e5
mov dword [ebp - 0x33c], 0x4cf
jmp 0x1057665
cmp esi, ebx
ja 0x1057505
jb 0x10574ba
cmp edi, 0x40000000
jae 0x1057505
mov eax, edi
shrd eax, esi, 0x14
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0xfffff
shr esi, 0x14
push edi
mov dword [ebp - 0x358], 0x4c6
mov dword [ebp - 0x344], esi
call fcn.01160750
mov esi, edx
mov edi, eax
shrd edi, esi, 0x14
shr esi, 0x14
jmp 0x10571bd
cmp esi, 0x100
ja 0x105755e
jb 0x1057513
cmp edi, ebx
jae 0x105755e
mov eax, edi
shrd eax, esi, 0x1e
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
mov dword [ebp - 0x344], edi
push ebx
and edi, 0x3fffffff
shr esi, 0x1e
push edi
mov dword [ebp - 0x358], 0x4c7
mov dword [ebp - 0x344], esi
call fcn.01160750
mov esi, edx
mov edi, eax
shrd edi, esi, 0x1e
shr esi, 0x1e
jmp 0x10571bd
mov eax, esi
shr eax, 8
mov dword [ebp - 0x348], eax
mov eax, dword [ebp - 0x32c]
cdq
push edx
push eax
and esi, 0xff
push esi
push edi
mov dword [ebp - 0x358], 0x4c8
mov dword [ebp - 0x344], ebx
call fcn.01160750
mov edi, edx
shr edi, 8
xor esi, esi
jmp 0x10571bd
mov eax, dword [0x12ce0a0]
mov dword [ebp - 0x344], eax
mov byte [ebp - 4], 8
push 0x4c4
lea ecx, [ebp - 0x344]
call fcn.01032a72
mov eax, dword [ebp - 0x360]
push esi
push edi
push dword [ebp - 0x344]
add eax, 0x8c
push eax
call fcn.01032a1b
add esp, 0x10
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x344]
jmp 0x105734a
push dword [esi + 0x68]
lea ecx, [ebp - 0x330]
call fcn.010562c1
mov byte [ebp - 4], 0x12
push dword [esi + 0x68]
lea ecx, [ebp - 0x354]
call fcn.010562ea
mov byte [ebp - 4], 0x13
cmp dword [ebp - 0x354], ebx
je 0x105762b
xor eax, eax
cmp dword [ebp - 0x330], ebx
sete al
lea eax, [eax + eax + 0x4cb]
mov dword [ebp - 0x33c], eax
jmp 0x105763d
cmp dword [ebp - 0x330], ebx
je 0x105763d
mov dword [ebp - 0x33c], 0x4ce
mov byte [ebp - 4], 0x12
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1057651
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1057665
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1057679
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x340]
jmp 0x10577d9
push dword [esi + 0x68]
lea ecx, [ebp - 0x32c]
call fcn.0103d745
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x10577cf
mov ecx, dword [eax]
lea edx, [ebp - 0x394]
push edx
push eax
call dword [ecx + 0x54]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x39c]
push edx
push eax
call dword [ecx + 0x5c]
fld qword [ebp - 0x39c]
fsub qword [ebp - 0x394]
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x34c]
fstp qword [ebp - 0x38c]
call fcn.0103d797
mov byte [ebp - 4], 0x15
cmp dword [ebp - 0x34c], ebx
je 0x1057706
mov dword [ebp - 0x33c], 0x4cb
jmp 0x10577bb
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x354]
call fcn.0103d7c0
mov byte [ebp - 4], 0x16
cmp dword [ebp - 0x354], ebx
je 0x105772f
mov dword [ebp - 0x33c], 0x4cd
jmp 0x10577a7
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x340]
call fcn.0103d71c
mov byte [ebp - 4], 0x17
cmp dword [ebp - 0x340], ebx
je 0x1057758
mov dword [ebp - 0x33c], 0x4ce
jmp 0x1057793
push dword [ebp - 0x32c]
lea ecx, [ebp - 0x330]
call fcn.0103d6f3
mov byte [ebp - 4], 0x18
cmp dword [ebp - 0x330], ebx
je 0x105777f
mov dword [ebp - 0x33c], 0x4cf
mov byte [ebp - 4], 0x17
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x1057793
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x16
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x10577a7
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x15
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x10577bb
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x14
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x10577cf
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x10577e3
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x364], ebx
je 0x1057d9d
cmp byte [ebp - 0x331], bl
je 0x1057d9d
mov dword [ebp - 0x358], ebx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x364]
mov ecx, dword [eax]
lea edx, [ebp - 0x358]
push edx
push eax
call dword [ecx + 0x3c]
test eax, eax
jne 0x1057d83
cmp dword [ebp - 0x358], ebx
je 0x1057d83
push dword [ebp - 0x358]
lea ecx, [ebp - 0x344]
call fcn.01056313
mov byte [ebp - 4], 0x1a
push dword [ebp - 0x364]
lea ecx, [ebp - 0x34c]
call fcn.0103d745
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x1057939
cmp dword [ebp - 0x37c], ebx
jne 0x1057887
cmp dword [ebp - 0x34c], ebx
jne 0x1057887
mov ecx, dword [eax]
lea edx, [ebp - 0x38c]
push edx
push eax
call dword [ecx + 0x44]
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x1057939
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x58]
test eax, eax
mov edi, 0x1005498
jl 0x10578ce
mov eax, dword [ebp - 0x330]
cmp eax, ebx
je 0x10578ce
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x9c]
push edi
push eax
call fcn.01032a1b
add esp, 0xc
mov eax, dword [ebp - 0x344]
lea edx, [ebp - 0x340]
push edx
mov dword [ebp - 0x340], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x5c]
test eax, eax
jl 0x105790e
mov eax, dword [ebp - 0x340]
cmp eax, ebx
je 0x105790e
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0xac]
push edi
push eax
call fcn.01032a1b
add esp, 0xc
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x340]
add eax, ecx
cmp eax, ebx
je 0x1057939
cdq
mov ecx, 0x3e8
idiv ecx
push eax
lea eax, [esi + 0x88]
push edi
push eax
call fcn.01032a1b
add esp, 0xc
push dword [ebp - 0x358]
lea ecx, [ebp - 0x35c]
call fcn.0105633c
mov byte [ebp - 4], 0x1c
push dword [ebp - 0x358]
lea ecx, [ebp - 0x354]
call fcn.01056365
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x1057ab3
mov ecx, dword [eax]
lea edx, [ebp - 0x380]
push edx
push eax
call dword [ecx + 0x20]
mov eax, dword [ebp - 0x35c]
mov ecx, dword [eax]
lea edx, [ebp - 0x384]
push edx
push eax
call dword [ecx + 0x24]
fldz
mov eax, dword [ebp - 0x35c]
fstp qword [ebp - 0x36c]
mov ecx, dword [eax]
lea edx, [ebp - 0x36c]
push edx
push eax
call dword [ecx + 0x1c]
test eax, eax
jl 0x1057ab3
fld qword [0x1003fb0]
fld qword [ebp - 0x36c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057ab3
fld qword [ebp - 0x36c]
call sub.msvcrt.dll__ftol
mov dword [ebp - 0x330], eax
fild dword [ebp - 0x330]
fsubr qword [ebp - 0x36c]
fmul qword [0x1003508]
call sub.msvcrt.dll__ftol
cmp eax, ebx
mov dword [ebp - 0x340], eax
je 0x1057a99
push 0x100548c
lea ecx, [ebp - 0x338]
call fcn.01039a07
mov byte [ebp - 4], 0x1e
xor eax, eax
mov word [ebp - 0x1c], bx
lea edi, [ebp - 0x1a]
stosd dword es:[edi], eax
push 5
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebx
jg 0x1057a48
push 0x1005244
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x338]
call fcn.01052ada
push 0x1005478
lea ecx, [ebp - 0x338]
call fcn.01052ada
push dword [ebp - 0x340]
lea eax, [esi + 0xa0]
push dword [ebp - 0x330]
push dword [ebp - 0x338]
push eax
call fcn.01032a1b
add esp, 0x10
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x338]
call fcn.010328fe
jmp 0x1057ab3
push dword [ebp - 0x330]
lea eax, [esi + 0xa0]
push 0x1005464
push eax
call fcn.01032a1b
add esp, 0xc
cmp dword [ebp - 0x354], ebx
je 0x1057d33
mov dword [ebp - 0x32c], ebx
mov byte [ebp - 4], 0x1f
mov ecx, dword [0x12d28f8]
lea eax, [ebp - 0x32c]
push eax
push 0x1005404
push 0x17
push ebx
push 0x1005454
call fcn.0116ba80
push dword [esi + 0x84]
lea ecx, [ebp - 0x330]
call fcn.01032b44
mov byte [ebp - 4], 0x20
mov eax, dword [eax]
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0x30]
mov byte [ebp - 4], 0x1f
push dword [ebp - 0x330]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [ebp - 0x32c]
lea edx, [ebp - 0x368]
push edx
mov dword [ebp - 0x368], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x14]
mov dword [ebp - 0x338], ebx
jmp 0x1057bb6
mov eax, dword [ebp - 0x338]
cmp eax, dword [ebp - 0x368]
jge 0x1057d1f
mov eax, dword [ebp - 0x32c]
push dword [ebp - 0x338]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x74]
push edx
push eax
call dword [ecx + 0x20]
lea ecx, [ebp - 0x64]
call fcn.0126bf23
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
lea edx, [ebp - 0x64]
push edx
push eax
call dword [ecx + 0x3c]
push 4
pop ecx
mov edi, 0x1007a4c
lea esi, [ebp - 0x74]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
je 0x1057bc7
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0126bf15
inc dword [ebp - 0x338]
mov esi, dword [ebp - 0x360]
cmp dword [ebp - 0x368], ebx
jg 0x1057b3d
jmp 0x1057d1f
push 4
pop ecx
mov edi, 0x100787c
lea esi, [ebp - 0x38]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x1057d0d
mov eax, dword [ebp - 0x20]
cmp eax, ebx
mov esi, eax
mov dword [ebp - 0x340], esi
je 0x1057d0d
movzx eax, word [eax + 2]
push eax
mov eax, dword [ebp - 0x360]
add eax, 0xb0
push 0x100548c
push eax
call fcn.01032a1b
mov ecx, dword [esi + 4]
mov eax, ecx
cdq
mov edi, 0x3e8
mov esi, edi
idiv esi
add esp, 0xc
mov esi, eax
imul eax, eax, 0x3e8
sub ecx, eax
lea eax, [ecx + ecx*4]
shl eax, 1
cdq
idiv edi
cmp eax, ebx
mov dword [ebp - 0x330], eax
je 0x1057cd3
push 0x1005444
lea ecx, [ebp - 0x338]
call fcn.01039a07
mov byte [ebp - 4], 0x22
xor eax, eax
mov word [ebp - 0x1c], bx
lea edi, [ebp - 0x1a]
stosd dword es:[edi], eax
push 5
stosd dword es:[edi], eax
lea eax, [ebp - 0x1c]
push eax
push 0xe
push 0x400
call dword [sym.imp.KERNEL32.dll_GetLocaleInfoW]
cmp eax, ebx
jg 0x1057c81
push 0x1005244
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x338]
call fcn.01052ada
push 0x100542c
lea ecx, [ebp - 0x338]
call fcn.01052ada
push dword [ebp - 0x330]
push esi
mov esi, dword [ebp - 0x360]
push dword [ebp - 0x338]
lea eax, [esi + 0xb4]
push eax
call fcn.01032a1b
add esp, 0x10
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x338]
call fcn.010328fe
jmp 0x1057cee
push esi
mov esi, dword [ebp - 0x360]
lea eax, [esi + 0xb4]
push 0x1005414
push eax
call fcn.01032a1b
add esp, 0xc
mov eax, dword [ebp - 0x340]
movzx eax, word [eax + 0xe]
push eax
push 0x100548c
add esi, 0xb8
push esi
call fcn.01032a1b
add esp, 0xc
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x64]
call fcn.0126bf15
mov esi, dword [ebp - 0x360]
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x32c]
cmp eax, ebx
je 0x1057d33
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x354]
cmp eax, ebx
je 0x1057d47
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0x35c]
cmp eax, ebx
je 0x1057d5b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x34c]
cmp eax, ebx
je 0x1057d6f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0x344]
cmp eax, ebx
je 0x1057d83
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x358]
cmp eax, ebx
je 0x1057d97
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x350]
cmp dword [ebp - 0x33c], ebx
je 0x1057db6
push dword [ebp - 0x33c]
lea ecx, [esi + 0x80]
call fcn.01032a72
fld qword [0x10054b0]
fld qword [ebp - 0x38c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057dfe
fld qword [ebp - 0x38c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aaab6
mov byte [ebp - 4], 0x23
push eax
lea ecx, [esi + 0x74]
call fcn.01044de0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.010328fe
fld qword [0x10054b0]
fld qword [ebp - 0x394]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057e46
fld qword [ebp - 0x394]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aaab6
mov byte [ebp - 4], 0x24
push eax
lea ecx, [esi + 0x78]
call fcn.01044de0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.010328fe
fld qword [0x10054b0]
fld qword [ebp - 0x39c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x1057e8e
fld qword [ebp - 0x39c]
push ecx
push ecx
lea eax, [ebp - 0x350]
fstp qword [esp]
push eax
call fcn.010aaab6
mov byte [ebp - 4], 0x25
push eax
lea ecx, [esi + 0x7c]
call fcn.01044de0
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x350]
call fcn.010328fe
cmp dword [ebp - 0x380], ebx
je 0x1057eb0
push dword [ebp - 0x380]
lea eax, [esi + 0x94]
push 0x1005388
push eax
call fcn.01032a1b
add esp, 0xc
cmp dword [ebp - 0x384], ebx
je 0x1057ed2
push dword [ebp - 0x384]
lea eax, [esi + 0x98]
push 0x1005388
push eax
call fcn.01032a1b
add esp, 0xc
cmp dword [ebp - 0x33c], 0x4cf
jne 0x1057f43
cmp byte [ebp - 0x331], bl
je 0x1057f43
lea ecx, [ebp - 0x48]
call fcn.011bef97
mov byte [ebp - 4], 0x26
push dword [esi + 0x84]
lea ecx, [ebp - 0x48]
call fcn.011bf45c
test eax, eax
jl 0x1057f37
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x350], ebx
call fcn.011bf0ec
test eax, eax
jl 0x1057f37
push dword [ebp - 0x350]
add esi, 0xbc
push 0x100548c
push esi
call fcn.01032a1b
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x48]
call fcn.011bf3ba
mov eax, dword [ebp - 0x33c]
sub eax, 0x4cb
je 0x1057fc0
dec eax
dec eax
je 0x1057fb2
dec eax
je 0x1057fa5
dec eax
je 0x1057f76
mov eax, dword [ebp - 0x378]
mov byte [edi], bl
mov byte [eax], bl
mov eax, dword [ebp - 0x370]
mov byte [eax], bl
mov eax, dword [ebp - 0x374]
mov byte [eax], bl
jmp 0x1057fdd
fld qword [ebp - 0x38c]
fcomp qword [0x1003fb0]
fnstsw ax
test ah, 0x41
jne 0x1057f8e
xor eax, eax
inc eax
jmp 0x1057f90
xor eax, eax
mov byte [edi], al
mov eax, dword [ebp - 0x378]
mov byte [eax], bl
mov eax, dword [ebp - 0x370]
mov byte [eax], 1
jmp 0x1057f6c
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], bl
jmp 0x1057fcc
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
jmp 0x1057f64
mov eax, dword [ebp - 0x378]
mov byte [edi], 1
mov byte [eax], 1
mov eax, dword [ebp - 0x370]
mov byte [eax], bl
mov eax, dword [ebp - 0x374]
mov byte [eax], 1
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x37c]
cmp eax, ebx
je 0x1057ff0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
or dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x364]
pop edi
pop esi
cmp eax, ebx
pop ebx
je 0x1058007
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x10]
call fcn.0116015a
leave
ret 0x10