Function at 0x41da60
Capabilities:
Check os version
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x475d2f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
push ebx
push esi
push edi
mov edi, ecx
xor esi, esi
push 0x4922c4
lea ecx, [edi + 0x20]
mov dword [edi + 0x14], esi
call fcn.0045c80d
lea ecx, [edi + 0x24]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x28]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x30]
push 0x4922c4
mov dword [edi + 0x2c], esi
call fcn.0045c80d
lea ecx, [edi + 0x34]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x38]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x3c]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x40]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x44]
push 0x4922c4
call fcn.0045c80d
lea ecx, [edi + 0x48]
push 0x4922c4
call fcn.0045c80d
mov ebx, dword [ebp + 8]
mov dword [edi + 0x4c], esi
cmp ebx, esi
mov dword [edi + 0x50], esi
mov dword [edi + 0x54], esi
mov dword [edi + 0x1c], esi
je 0x41e31f
jmp 0x41db2c
mov ebx, dword [ebp + 8]
cmp byte [ebx + 4], 0xe1
jne 0x41e2cd
mov esi, dword [ebx + 0x10]
cmp byte [esi], 0x45
jne 0x41e2cb
cmp byte [esi + 1], 0x78
jne 0x41e2cb
cmp byte [esi + 2], 0x69
jne 0x41e2cb
cmp byte [esi + 3], 0x66
jne 0x41e2cb
mov al, byte [esi + 4]
test al, al
jne 0x41e2cb
mov al, byte [esi + 5]
test al, al
jne 0x41e2cb
mov ebx, dword [ebx + 0xc]
sub ebx, 6
cmp ebx, 0xc
mov dword [esp + 0x2c], ebx
jb 0x41e31f
mov al, byte [esi + 6]
cmp al, 0x49
jne 0x41db9e
cmp byte [esi + 7], al
jne 0x41db9e
mov dword [edi + 4], 0
jmp 0x41dbb7
cmp al, 0x4d
jne 0x41e31f
cmp byte [esi + 7], 0x4d
jne 0x41e31f
mov dword [edi + 4], 1
lea eax, [esi + 8]
mov ecx, edi
push eax
call fcn.0041ebe0
cmp ax, 0x2a
jne 0x41e31f
lea eax, [esi + 0xa]
mov ecx, edi
push eax
call fcn.0041ec10
mov ebx, eax
mov eax, dword [esp + 0x2c]
add eax, 0xfffffffe
cmp ebx, eax
mov dword [esp + 0x14], eax
ja 0x41e31f
lea eax, [ebx + esi + 6]
mov ecx, edi
push eax
mov dword [esp + 0x7c], eax
call fcn.0041ebe0
and eax, 0xffff
mov dword [esp + 0x20], eax
je 0x41e31f
add ebx, 2
mov dword [esp + 0x18], 0
test eax, eax
jbe 0x41e31f
mov ecx, dword [esp + 0x2c]
add ecx, 0xfffffff4
mov dword [esp + 0x10], ecx
cmp ebx, dword [esp + 0x10]
ja 0x41e31f
lea edx, [ebx + esi + 6]
mov ecx, edi
push edx
call fcn.0041ebe0
and eax, 0xffff
cmp eax, 0x112
ja 0x41dd10
je 0x41dd07
sub eax, 0x10f
je 0x41dcb5
dec eax
jne 0x41dd33
lea eax, [ebx + esi + 0xe]
mov ecx, edi
push eax
call fcn.0041ec10
mov ecx, dword [0x48e444]
lea edx, [eax + esi + 6]
mov dword [esp + 0x44], ecx
push edx
lea ecx, [esp + 0x48]
call fcn.0045c80d
lea eax, [esp + 0x44]
lea ecx, [edi + 0x28]
push eax
mov dword [esp + 0x108], 1
call fcn.0045c7bd
lea ecx, [esp + 0x44]
mov dword [esp + 0x104], 0xffffffff
call fcn.0045c6d0
jmp 0x41dd33
lea ecx, [ebx + esi + 0xe]
push ecx
mov ecx, edi
call fcn.0041ec10
mov edx, dword [0x48e444]
lea eax, [eax + esi + 6]
push eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], edx
call fcn.0045c80d
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0
push ecx
lea ecx, [edi + 0x24]
call fcn.0045c7bd
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0045c6d0
jmp 0x41dd33
lea edx, [ebx + esi + 0xe]
mov dword [edi + 0x4c], edx
jmp 0x41dd33
cmp eax, 0x8769
jne 0x41dd33
lea eax, [ebx + esi + 0xe]
mov ecx, edi
push eax
call fcn.0041ec10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], eax
cmp eax, ecx
ja 0x41e31f
mov eax, dword [esp + 0x20]
add ebx, 0xc
dec eax
mov dword [esp + 0x20], eax
jne 0x41dc29
mov eax, dword [esp + 0x18]
test eax, eax
je 0x41e31f
lea eax, [eax + esi + 6]
add ebx, 6
push eax
mov ecx, edi
mov dword [edi + 0x18], ebx
mov dword [esp + 0x88], eax
call fcn.0041ebe0
and eax, 0xffff
cmp eax, 2
mov dword [esp + 0x20], eax
jb 0x41e31f
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + 2]
mov dword [esp + 0x18], ebx
lea edx, [ebx + esi + 8]
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff4
cmp ebx, eax
ja 0x41e31f
mov ecx, dword [esp + 0x24]
add ecx, 0xfffffffe
push ecx
mov ecx, edi
call fcn.0041ebe0
and eax, 0xffff
cmp eax, 0x9202
ja 0x41e5cf
je 0x41e542
cmp eax, 0x8827
ja 0x41df92
je 0x41df6a
sub eax, 0x829a
je 0x41dea5
sub eax, 3
jne 0x41e269
lea edx, [ebx + esi + 0xe]
mov ecx, edi
push edx
call fcn.0041ec10
mov dword [esp + 0x14], eax
lea eax, [eax + esi + 6]
push eax
mov ecx, edi
call fcn.0041ec10
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
lea edx, [esi + ecx + 0xa]
mov ecx, edi
push edx
call fcn.0041ec10
sub esp, 8
cmp eax, 0xa
jne 0x41de5c
mov eax, dword [esp + 0x18]
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], eax
lea eax, [edi + 0x34]
fild qword [esp + 0xf0]
fmul dword [0x47b3f8]
fstp qword [esp]
push 0x48c7dc
push eax
call fcn.00459e9c
add esp, 0x10
jmp 0x41e269
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xb0], ecx
xor ecx, ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xa4], ecx
fild qword [esp + 0xb0]
lea eax, [edi + 0x34]
fidiv dword [esp + 0xa0]
fstp qword [esp]
push 0x48c7d4
push eax
call fcn.00459e9c
add esp, 0x10
jmp 0x41e269
lea edx, [ebx + esi + 0xe]
mov ecx, edi
push edx
call fcn.0041ec10
mov dword [esp + 0x10], eax
lea eax, [eax + esi + 6]
push eax
mov ecx, edi
call fcn.0041ec10
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
lea edx, [esi + ecx + 0xa]
mov ecx, edi
push edx
call fcn.0041ec10
mov ecx, dword [esp + 0x14]
sub esp, 8
cmp eax, ecx
jbe 0x41df25
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xe0], ecx
fild qword [esp + 0xc0]
mov dword [esp + 0xe4], eax
lea eax, [edi + 0x30]
fidiv dword [esp + 0xe0]
fstp qword [esp]
push 0x48c7cc
push eax
call fcn.00459e9c
add esp, 0x10
jmp 0x41e269
mov dword [esp + 0xd0], ecx
xor ecx, ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xa8], eax
fild qword [esp + 0xd0]
mov dword [esp + 0xac], ecx
lea eax, [edi + 0x30]
fidiv dword [esp + 0xa8]
fstp qword [esp]
push 0x48c7c4
push eax
call fcn.00459e9c
add esp, 0x10
jmp 0x41e269
lea eax, [ebx + esi + 0xe]
mov ecx, edi
push eax
call fcn.0041ebe0
and eax, 0xffff
push eax
lea eax, [edi + 0x38]
push 0x48c7bc
push eax
call fcn.00459e9c
add esp, 0xc
jmp 0x41e269
cmp eax, 0x9003
je 0x41e336
cmp eax, 0x9201
jne 0x41e269
push 0x48c7b8
lea ecx, [esp + 0x4c]
call fcn.0045c73e
push 0x48c7b4
lea ecx, [esp + 0x50]
mov dword [esp + 0x108], 8
call fcn.0045c73e
push 0x48c7b0
lea ecx, [esp + 0x54]
mov byte [esp + 0x108], 9
call fcn.0045c73e
push 0x48c7ac
lea ecx, [esp + 0x58]
mov byte [esp + 0x108], 0xa
call fcn.0045c73e
push 0x48c7a8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x108], 0xb
call fcn.0045c73e
push 0x48c7a4
lea ecx, [esp + 0x60]
mov byte [esp + 0x108], 0xc
call fcn.0045c73e
push 0x48c7a0
lea ecx, [esp + 0x64]
mov byte [esp + 0x108], 0xd
call fcn.0045c73e
push 0x48c79c
lea ecx, [esp + 0x68]
mov byte [esp + 0x108], 0xe
call fcn.0045c73e
push 0x48c798
lea ecx, [esp + 0x6c]
mov byte [esp + 0x108], 0xf
call fcn.0045c73e
push 0x48c794
lea ecx, [esp + 0x70]
mov byte [esp + 0x108], 0x10
call fcn.0045c73e
push 0x48c78c
lea ecx, [esp + 0x74]
mov byte [esp + 0x108], 0x11
call fcn.0045c73e
push 0x48c784
lea ecx, [esp + 0x78]
mov byte [esp + 0x108], 0x12
call fcn.0045c73e
lea ecx, [ebx + esi + 0xe]
mov byte [esp + 0x104], 0x13
push ecx
mov ecx, edi
call fcn.0041ec10
mov ebx, eax
mov ecx, edi
lea edx, [ebx + esi + 6]
push edx
call fcn.0041ec10
mov dword [esp + 0x10], eax
lea eax, [esi + ebx + 0xa]
push eax
mov ecx, edi
call fcn.0041ec10
mov ecx, eax
mov eax, dword [esp + 0x10]
cdq
idiv ecx
xor ecx, ecx
test eax, eax
setl cl
test ecx, ecx
je 0x41e0f3
neg eax
cmp eax, 0xc
jae 0x41e196
test ecx, ecx
je 0x41e131
lea ecx, [esp + eax*4 + 0x48]
push 0x48c780
lea edx, [esp + 0x94]
push ecx
push edx
call fcn.0045c919
push eax
lea ecx, [edi + 0x3c]
mov byte [esp + 0x108], 0x14
call fcn.0045c7bd
lea ecx, [esp + 0x90]
jmp 0x41e189
lea eax, [esp + eax*4 + 0x48]
lea ecx, [esp + 0x7c]
push eax
push 0x48c77c
push ecx
call fcn.0045c98d
push 0x48c780
lea edx, [esp + 0x8c]
push eax
push edx
mov byte [esp + 0x110], 0x15
call fcn.0045c919
push eax
lea ecx, [edi + 0x3c]
mov byte [esp + 0x108], 0x16
call fcn.0045c7bd
lea ecx, [esp + 0x88]
mov byte [esp + 0x104], 0x15
call fcn.0045c6d0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x104], 0x13
call fcn.0045c6d0
lea ecx, [esp + 0x74]
mov byte [esp + 0x104], 0x12
call fcn.0045c6d0
lea ecx, [esp + 0x70]
mov byte [esp + 0x104], 0x11
call fcn.0045c6d0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x104], 0x10
call fcn.0045c6d0
lea ecx, [esp + 0x68]
mov byte [esp + 0x104], 0xf
call fcn.0045c6d0
lea ecx, [esp + 0x64]
mov byte [esp + 0x104], 0xe
call fcn.0045c6d0
lea ecx, [esp + 0x60]
mov byte [esp + 0x104], 0xd
call fcn.0045c6d0
lea ecx, [esp + 0x5c]
mov byte [esp + 0x104], 0xc
call fcn.0045c6d0
lea ecx, [esp + 0x58]
mov byte [esp + 0x104], 0xb
call fcn.0045c6d0
lea ecx, [esp + 0x54]
mov byte [esp + 0x104], 0xa
call fcn.0045c6d0
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 9
call fcn.0045c6d0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x104], 8
call fcn.0045c6d0
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.0045c6d0
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add ebx, 0xc
add ecx, 0xc
dec eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
jne 0x41dd8f
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x10]
mov ecx, dword [edi + 0x18]
add edx, ecx
mov ecx, edi
push edx
call fcn.0041ec10
mov esi, dword [esp + 0x2c]
mov dword [edi + 0x1c], eax
mov eax, dword [esp + 0x78]
push esi
push eax
mov ecx, edi
call fcn.0041e6c0
mov ecx, dword [esp + 0x84]
push esi
push ecx
mov ecx, edi
call fcn.0041e6c0
mov ebx, dword [ebp + 8]
mov dword [edi + 0x14], 1
xor esi, esi
cmp byte [ebx + 4], 0xfe
jne 0x41e312
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x10]
push edx
push eax
lea ecx, [esp + 0x94]
call fcn.00459602
push eax
lea ecx, [edi + 0x20]
mov dword [esp + 0x108], 0x17
call fcn.0045c7bd
lea ecx, [esp + 0x8c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0045c6d0
mov ebx, dword [ebx]
cmp ebx, esi
mov dword [ebp + 8], ebx
jne 0x41db29
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
lea eax, [esi + ebx + 0xe]
mov ecx, edi
push eax
call fcn.0041ec10
mov ebx, eax
mov cl, byte [ebx + esi + 6]
cmp cl, 0x30
je 0x41e265
mov eax, dword [0x48e444]
mov dword [esp + 0x10], eax
mov dword [esp + 0x104], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], eax
xor edx, edx
xor eax, eax
mov dl, byte [ebx + esi + 9]
mov al, byte [esi + ebx + 8]
push edx
xor edx, edx
mov dl, byte [esi + ebx + 7]
push eax
and ecx, 0xff
push edx
push ecx
lea eax, [esp + 0x20]
push 0x48c770
push eax
mov byte [esp + 0x11c], 7
call fcn.00459e9c
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + esi + 0xc]
mov dl, byte [ebx + esi + 0xb]
push ecx
push edx
lea eax, [esp + 0x34]
push 0x48c768
push eax
call fcn.00459e9c
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + esi + 0xf]
mov dl, byte [esi + ebx + 0xe]
push ecx
push edx
lea eax, [esp + 0x60]
push 0x48c768
push eax
call fcn.00459e9c
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + esi + 0x12]
mov dl, byte [ebx + esi + 0x11]
push ecx
push edx
lea eax, [esp + 0x80]
push 0x48c768
push eax
call fcn.00459e9c
xor ecx, ecx
add esp, 0x48
mov cl, byte [ebx + esi + 0x15]
xor edx, edx
mov dl, byte [ebx + esi + 0x14]
push ecx
push edx
lea eax, [esp + 0x40]
push 0x48c768
push eax
call fcn.00459e9c
xor ecx, ecx
xor edx, edx
mov cl, byte [ebx + esi + 0x18]
mov dl, byte [ebx + esi + 0x17]
push ecx
push edx
lea eax, [esp + 0x4c]
push 0x48c768
push eax
call fcn.00459e9c
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x58]
add esp, 0x20
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
push edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], ecx
call fcn.004482d3
add esp, 4
push eax
push ebx
call fcn.004482d3
add esp, 4
push eax
mov eax, dword [esp + 0x8c]
push eax
call fcn.004482d3
mov ecx, dword [esp + 0xa4]
add esp, 4
push eax
push ecx
call fcn.004482d3
mov edx, dword [esp + 0x30]
add esp, 4
push eax
push edx
call fcn.004482d3
add esp, 4
push eax
mov eax, dword [esp + 0x40]
push eax
call fcn.004482d3
add esp, 4
lea ecx, [esp + 0x10c]
push eax
call fcn.00459f01
mov ecx, dword [eax]
mov byte [esp + 0x104], 6
mov dword [edi + 0x2c], ecx
lea ecx, [esp + 0x34]
call fcn.0045c6d0
lea ecx, [esp + 0x38]
mov byte [esp + 0x104], 5
call fcn.0045c6d0
lea ecx, [esp + 0x40]
mov byte [esp + 0x104], 4
call fcn.0045c6d0
lea ecx, [esp + 0x30]
mov byte [esp + 0x104], 3
call fcn.0045c6d0
lea ecx, [esp + 0x14]
mov byte [esp + 0x104], 2
call fcn.0045c6d0
mov dword [esp + 0x104], 0xffffffff
lea ecx, [esp + 0x10]
jmp 0x41e260
lea edx, [ebx + esi + 0xe]
mov ecx, edi
push edx
call fcn.0041ec10
mov dword [esp + 0x28], eax
lea eax, [eax + esi + 6]
push eax
mov ecx, edi
call fcn.0041ec10
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
lea edx, [esi + ecx + 0xa]
mov ecx, edi
push edx
call fcn.0041ec10
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xc0], eax
fld qword [0x47b3f0]
mov dword [esp + 0xb0], ecx
xor ecx, ecx
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xc4], ecx
fild qword [esp + 0xb0]
fidiv dword [esp + 0xc0]
fmul dword [0x47b3ec]
call fcn.004482e0
sub esp, 8
lea eax, [edi + 0x40]
fstp qword [esp]
push 0x48c7dc
push eax
call fcn.00459e9c
add esp, 0x10
jmp 0x41e269
cmp eax, 0xa003
ja 0x41e686
je 0x41e67a
cmp eax, 0x920a
je 0x41e5fe
cmp eax, 0xa002
jne 0x41e269
mov edx, dword [esp + 0x24]
mov dword [edi + 0x50], edx
jmp 0x41e269
lea eax, [ebx + esi + 0xe]
mov ecx, edi
push eax
call fcn.0041ec10
lea ecx, [eax + esi + 6]
mov dword [esp + 0x28], eax
push ecx
mov ecx, edi
call fcn.0041ec10
mov edx, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov ecx, edi
lea eax, [esi + edx + 0xa]
push eax
call fcn.0041ec10
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xd0], ecx
xor ecx, ecx
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xe4], ecx
fild qword [esp + 0xd0]
sub esp, 8
lea eax, [edi + 0x44]
fidiv dword [esp + 0xe8]
fstp qword [esp]
push 0x48c760
push eax
call fcn.00459e9c
add esp, 0x10
jmp 0x41e269
mov edx, dword [esp + 0x24]
mov dword [edi + 0x54], edx
jmp 0x41e269
cmp eax, 0xa405
jne 0x41e269
lea eax, [ebx + esi + 0xe]
mov ecx, edi
push eax
call fcn.0041ebe0
and eax, 0xffff
push eax
lea eax, [edi + 0x48]
push 0x48c758
push eax
call fcn.00459e9c
add esp, 0xc
jmp 0x41e269