Function at 0x43e090
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e4c80
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
mov dword [esp + 0x14], esi
call fcn.005df190
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0
call fcn.005df190
mov edi, dword [0x63c434]
mov eax, dword [esi + 0x1978]
neg edi
sbb edi, edi
push 0
and edi, 2
push 0
add edi, 0xc
push 0x1004
push eax
mov byte [esp + 0x48], 1
mov dword [esp + 0x28], edi
call dword [0x5fcbfc]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
test eax, eax
jge 0x43e114
xor ecx, ecx
mov eax, 8
jmp 0x43e117
mov ecx, eax
inc eax
mov edx, dword [0x63c434]
test edx, edx
je 0x43e2ae
mov edx, dword [esi + 0x14c0]
test edx, edx
je 0x43e2ae
cmp ecx, eax
jge 0x43e576
sub eax, ecx
lea ebx, [esi + ecx*4 + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
xor esi, esi
cmp eax, esi
je 0x43e297
mov ecx, dword [ebx]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0xb8], esi
mov eax, dword [edx + 0x14bc]
test eax, eax
jle 0x43e280
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
add eax, 0xfffffffa
cmp eax, 5
ja case.0x43e17c.8
jmp dword [eax*4 + 0x43e5ac]
xor ecx, ecx
jmp 0x43e1ab
mov ecx, 1
jmp 0x43e1ab
mov ecx, 2
jmp 0x43e1ab
mov ecx, 3
jmp 0x43e1ab
mov ecx, 4
jmp 0x43e1ab
mov ecx, dword [edx + 0x7c]
sub ecx, edi
add ecx, 5
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x14b0]
mov eax, dword [edi + 0x10]
fld qword [eax + esi*8]
fcomp qword [0x600fb8]
fnstsw ax
test ah, 0x41
jne 0x43e26b
mov ecx, dword [edi + ecx*4]
mov eax, dword [edx + 0xb8]
mov edx, dword [edx + 0xb0]
mov edi, dword [ecx + esi*8]
mov dword [edx + eax*8], edi
mov ecx, dword [ecx + esi*8 + 4]
mov dword [edx + eax*8 + 4], ecx
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xa4]
lea edx, [eax - 6]
cmp edx, 5
ja case.0x43e1f9.8
jmp dword [edx*4 + 0x43e5c4]
xor edx, edx
jmp 0x43e229
mov edx, 1
jmp 0x43e229
mov edx, 2
jmp 0x43e229
mov edx, 3
jmp 0x43e229
mov edx, 4
jmp 0x43e229
sub eax, dword [esp + 0x18]
add eax, 5
mov edx, eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x14b0]
mov eax, dword [edi + 0x10]
fld qword [eax + esi*8]
fcomp qword [0x600fb8]
fnstsw ax
test ah, 0x41
jne 0x43e26b
mov edx, dword [edi + edx*4]
mov eax, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xb4]
mov edi, dword [edx + esi*8]
mov dword [ecx + eax*8], edi
mov edx, dword [edx + esi*8 + 4]
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [ebx]
inc dword [eax + 0xb8]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
inc esi
cmp esi, dword [eax + 0x14bc]
jl 0x43e16f
mov ecx, dword [ebx]
call fcn.005d2740
mov eax, dword [ebx]
push 0
push 0
mov ecx, dword [eax + 0x20]
push ecx
call dword [0x5fcb10]
mov eax, dword [esp + 0x1c]
add ebx, 4
dec eax
mov dword [esp + 0x1c], eax
jne 0x43e148
jmp 0x43e576
cmp ecx, eax
jge 0x43e576
sub eax, ecx
lea edi, [esi + ecx*4 + 0x88]
mov esi, dword [0x5fca74]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x24]
xor ebx, ebx
cmp eax, ebx
je 0x43e564
mov edx, dword [edi]
mov eax, dword [esp + 0x20]
cmp eax, ebx
mov dword [edx + 0xb8], ebx
jle 0x43e54d
mov eax, dword [esp + 0x14]
add eax, 0x1958
mov dword [esp + 0x1c], eax
mov ecx, dword [edi]
lea eax, [esp + 0x24]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [esp + 0x1c]
push edx
push ebx
push eax
call fcn.005df34c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 2
call fcn.005df274
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 1
call fcn.005df184
mov ecx, dword [edi]
lea eax, [esp + 0x28]
mov edx, dword [ecx + 0xa4]
mov ecx, dword [esp + 0x1c]
push edx
push ebx
push eax
call fcn.005df34c
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 3
call fcn.005df274
lea ecx, [esp + 0x28]
mov byte [esp + 0x38], 1
call fcn.005df184
lea ecx, [esp + 0xc]
call fcn.005df382
lea ecx, [esp + 0xc]
call fcn.005df40c
lea ecx, [esp + 0x10]
call fcn.005df382
lea ecx, [esp + 0x10]
call fcn.005df40c
mov ecx, dword [esp + 0xc]
push 0x635508
push ecx
call esi
add esp, 8
test eax, eax
je 0x43e540
mov edx, dword [esp + 0xc]
push 0x62b6cc
push edx
call esi
add esp, 8
test eax, eax
je 0x43e540
mov eax, dword [esp + 0xc]
push 0x62b190
push eax
call esi
add esp, 8
test eax, eax
je 0x43e540
mov ecx, dword [esp + 0xc]
push 0x6292c0
push ecx
call esi
add esp, 8
test eax, eax
je 0x43e540
mov edx, dword [esp + 0x10]
push 0x635508
push edx
call esi
add esp, 8
test eax, eax
je 0x43e540
mov eax, dword [esp + 0x10]
push 0x62b6cc
push eax
call esi
add esp, 8
test eax, eax
je 0x43e540
mov ecx, dword [esp + 0x10]
push 0x62b190
push ecx
call esi
add esp, 8
test eax, eax
je 0x43e540
mov edx, dword [esp + 0xc]
push 0x6292c0
push edx
call esi
add esp, 8
test eax, eax
je 0x43e540
mov eax, dword [esp + 0xc]
mov ax, word [eax]
cmp ax, 0x2d
je 0x43e493
cmp ax, 0x2b
je 0x43e493
cmp ax, 0x2e
je 0x43e493
cmp ax, 0x30
je 0x43e493
cmp ax, 0x31
je 0x43e493
cmp ax, 0x32
je 0x43e493
cmp ax, 0x33
je 0x43e493
cmp ax, 0x34
je 0x43e493
cmp ax, 0x35
je 0x43e493
cmp ax, 0x36
je 0x43e493
cmp ax, 0x37
je 0x43e493
cmp ax, 0x38
je 0x43e493
cmp ax, 0x39
jne 0x43e540
mov ecx, dword [esp + 0x10]
mov ax, word [ecx]
cmp ax, 0x2d
je 0x43e4e8
cmp ax, 0x2b
je 0x43e4e8
cmp ax, 0x2e
je 0x43e4e8
cmp ax, 0x30
je 0x43e4e8
cmp ax, 0x31
je 0x43e4e8
cmp ax, 0x32
je 0x43e4e8
cmp ax, 0x33
je 0x43e4e8
cmp ax, 0x34
je 0x43e4e8
cmp ax, 0x35
je 0x43e4e8
cmp ax, 0x36
je 0x43e4e8
cmp ax, 0x37
je 0x43e4e8
cmp ax, 0x38
je 0x43e4e8
cmp ax, 0x39
jne 0x43e540
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.005df334
call fcn.00542e20
mov eax, dword [edi]
mov dword [esp + 0x30], esp
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xb0]
lea eax, [esp + 0x14]
fstp qword [edx + ecx*8]
mov ecx, esp
push eax
call fcn.005df334
call fcn.00542e20
mov eax, dword [edi]
add esp, 4
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xb4]
fstp qword [edx + ecx*8]
mov eax, dword [edi]
inc dword [eax + 0xb8]
mov eax, dword [esp + 0x20]
inc ebx
cmp ebx, eax
jl 0x43e2f7
mov ecx, dword [edi]
call fcn.005d2740
mov eax, dword [edi]
push 0
push 0
mov eax, dword [eax + 0x20]
push eax
call dword [0x5fcb10]
mov eax, dword [esp + 0x18]
add edi, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x43e2c9
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 0
call fcn.005df184
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call fcn.005df184
mov ecx, dword [esp + 0x30]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4