Function at 0x455c30
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e6186
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe4
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
call fcn.005df190
lea ecx, [esp + 0xc]
mov dword [esp + 0xf8], 0
call fcn.005df190
mov eax, dword [esi + 0x9910]
push 0
push 0
push 0x147
push eax
mov byte [esp + 0x108], 1
call dword [0x5fcbfc]
lea ecx, [esp + 0x28]
push 0x1d
push ecx
lea ecx, [esi + 0x9b30]
mov ebx, eax
call fcn.005df580
mov edi, dword [0x5fca2c]
push 0
lea edx, [esp + 0x2c]
push 0
push edx
call edi
add esp, 4
lea eax, [eax + eax + 2]
lea ecx, [esp + 0x94]
lea edx, [esp + 0x30]
push eax
push ecx
push edx
call edi
add esp, 4
inc eax
push eax
lea eax, [esp + 0x3c]
push eax
push 0
push 0
call dword [0x5fc13c]
test ebx, ebx
jg 0x455d0b
mov eax, dword [esi + 0x9cc8]
test eax, eax
je 0x455cf8
cmp dword [esi + 0x9d24], 1
je 0x455d0b
lea ecx, [esp + 0x8c]
push ecx
call dword [0x5fca30]
add esp, 4
jmp 0x455d1d
fld qword [0x6366a0]
fsub qword [0x6367a0]
fmul qword [0x5ff1b8]
fstp qword [esp + 0x14]
lea edx, [esp + 0x28]
push 0x1d
push edx
lea ecx, [esi + 0x9af0]
call fcn.005df580
push 0
lea eax, [esp + 0x2c]
push 0
push eax
call edi
add esp, 4
lea ecx, [eax + eax + 2]
lea edx, [esp + 0x94]
lea eax, [esp + 0x30]
push ecx
push edx
push eax
call edi
add esp, 4
inc eax
lea ecx, [esp + 0x38]
xor edi, edi
push eax
push ecx
push edi
push edi
call dword [0x5fc13c]
cmp ebx, edi
jg 0x455d91
cmp dword [esi + 0x9cc8], edi
je 0x455d7e
cmp dword [esi + 0x9d24], 1
je 0x455d91
lea edx, [esp + 0x8c]
push edx
call dword [0x5fca30]
add esp, 4
jmp 0x455da3
fld qword [0x6366a8]
fsub qword [0x6367a8]
fmul qword [0x5ff1b8]
fld qword [esp + 0x14]
fld qword [0x62bbf8]
fmul st(1)
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x602410]
fstp qword [esi + 0x3018]
fld qword [0x62bc00]
fmul st(2)
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x602410]
fstp qword [esi + 0x3020]
fld qword [0x62bbf8]
fmul st(1)
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x602408]
fstp qword [esi + 0x3028]
fld qword [0x62bc00]
fmul st(2)
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x602408]
fstp qword [esi + 0x3030]
fld qword [0x62bbf8]
fmul st(1)
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x602400]
fstp qword [esi + 0x3038]
fld qword [0x62bc00]
fmul st(2)
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x602400]
fstp qword [esi + 0x3040]
fld qword [0x62bbf8]
fmul st(1)
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x6023f8]
fstp qword [esi + 0x3048]
fstp st(0)
fld qword [0x62bc00]
fmul st(1)
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x6023f8]
fstp qword [esi + 0x3050]
cmp dword [esi + 0x9d6c], edi
fstp st(0)
je 0x455f62
cmp dword [esi + 0x9cc8], edi
je 0x455f62
cmp dword [esi + 0x9d24], 1
jne 0x455f62
fld qword [0x636948]
call fcn.005dfdf0
mov dword [esi + 0x3058], eax
fld qword [0x636950]
call fcn.005dfdf0
mov dword [esi + 0x305c], eax
fld qword [0x636948]
call fcn.005dfdf0
mov dword [esi + 0x3060], eax
fld qword [0x636950]
call fcn.005dfdf0
mov dword [esi + 0x3064], eax
fld qword [0x636948]
call fcn.005dfdf0
mov dword [esi + 0x3068], eax
fld qword [0x636950]
call fcn.005dfdf0
mov dword [esi + 0x306c], eax
fld qword [0x636948]
call fcn.005dfdf0
mov dword [esi + 0x3070], eax
fld qword [0x636950]
jmp 0x4560df
fld qword [0x636948]
fadd qword [esi + 0x9d70]
fmul qword [0x62bbf8]
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x602410]
call fcn.005dfdf0
mov dword [esi + 0x3058], eax
fld qword [0x636950]
fadd qword [esi + 0x9d78]
fmul qword [0x62bc00]
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x602410]
call fcn.005dfdf0
mov dword [esi + 0x305c], eax
fld qword [0x636948]
fadd qword [esi + 0x9d70]
fmul qword [0x62bbf8]
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x602408]
call fcn.005dfdf0
mov dword [esi + 0x3060], eax
fld qword [0x636950]
fadd qword [esi + 0x9d78]
fmul qword [0x62bc00]
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x602408]
call fcn.005dfdf0
mov dword [esi + 0x3064], eax
fld qword [0x636948]
fadd qword [esi + 0x9d70]
fmul qword [0x62bbf8]
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x602400]
call fcn.005dfdf0
mov dword [esi + 0x3068], eax
fld qword [0x636950]
fadd qword [esi + 0x9d78]
fmul qword [0x62bc00]
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x602400]
call fcn.005dfdf0
mov dword [esi + 0x306c], eax
fld qword [0x636948]
fadd qword [esi + 0x9d70]
fmul qword [0x62bbf8]
fld qword [0x6366a0]
fsub qword [0x6367a0]
fdivp st(1)
fmul qword [0x6023f8]
call fcn.005dfdf0
mov dword [esi + 0x3070], eax
fld qword [0x636950]
fadd qword [esi + 0x9d78]
fmul qword [0x62bc00]
fld qword [0x6366a8]
fsub qword [0x6367a8]
fdivp st(1)
fmul qword [0x6023f8]
call fcn.005dfdf0
mov dword [esi + 0x3074], eax
lea eax, [esp + 0xc]
push eax
lea ecx, [esi + 0x9ab0]
call fcn.005df28c
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.005df334
call fcn.00542e20
fstp qword [esp + 0x18]
add esp, 4
mov ecx, esi
push 0x3fe
call fcn.005df220
mov ecx, eax
call fcn.005df41e
test eax, eax
je 0x456163
cmp dword [esi + 0x9d68], edi
je 0x456163
fld qword [esp + 0x14]
fsub qword [esi + 0x9880]
fabs
fcomp qword [0x5fe948]
fnstsw ax
test ah, 1
je 0x456163
mov eax, dword [esi + 0x9880]
mov ecx, dword [esi + 0x9884]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
lea edx, [esp + 0xc]
lea ecx, [esi + 0x9a70]
push edx
call fcn.005df28c
push ecx
lea eax, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.005df334
call fcn.00542e20
fstp qword [esp + 0x20]
add esp, 4
mov ecx, esi
push 0x404
call fcn.005df220
mov ecx, eax
call fcn.005df41e
test eax, eax
je 0x4561dc
cmp dword [esi + 0x9d68], edi
je 0x4561dc
fld qword [esp + 0x1c]
fsub qword [esi + 0x9888]
fabs
fcomp qword [0x5fe948]
fnstsw ax
test ah, 1
je 0x4561dc
mov ecx, dword [esi + 0x9888]
mov edx, dword [esi + 0x988c]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov eax, dword [0x6365d0]
mov ecx, dword [0x6365d4]
cmp eax, 7
mov dword [esp + 0x24], ecx
jne 0x45620e
mov ecx, esi
call fcn.005df37c
mov edx, dword [ebp + 8]
mov ecx, esi
push edx
call fcn.00456600
mov ecx, esi
call fcn.005df376
jmp 0x45658b
cmp eax, 8
jne 0x456262
cmp dword [esi + 0x300c], edi
jne 0x45623a
push 0xc4
lea ecx, [esp + 0x14]
call fcn.005df18a
mov eax, dword [esp + 0x10]
push edi
push edi
push eax
call fcn.005df352
jmp 0x45658b
cmp dword [esi + 0x3010], edi
jne 0x456252
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00467090
jmp 0x45658b
mov edx, dword [ebp + 8]
mov ecx, esi
push edx
call fcn.00468c40
jmp 0x45658b
cmp eax, edi
je 0x456497
cmp eax, 1
je 0x456497
cmp eax, 2
je 0x456497
cmp eax, 3
je 0x456497
cmp eax, 4
je 0x456497
cmp eax, 5
je 0x456497
cmp eax, 6
je 0x456497
cmp eax, 9
je 0x456497
cmp eax, 0xb
je 0x456497
cmp eax, 0xc
je 0x456497
cmp eax, 0xa
jne 0x4562d3
mov eax, dword [esi + 0x31a4]
mov ecx, esi
push eax
call fcn.0046e1a0
jmp 0x456580
cmp eax, 0xd
jne 0x45658b
mov edx, dword [esi + 0x9d08]
mov dword [0x636964], edx
mov eax, dword [esi + 0x9d0c]
mov dword [0x63695c], eax
fld qword [esi + 0x9d10]
fadd qword [esi + 0x9d18]
fdivr qword [0x5fd8a8]
fstp qword [0x636580]
fld qword [esi + 0x9d10]
fadd qword [esi + 0x9d18]
fdivr qword [esi + 0x9d10]
fstp qword [0x636588]
mov ecx, dword [esi + 0x3110]
mov dword [0x636578], ecx
mov edx, dword [esi + 0x3114]
mov ecx, dword [0x63c2f0]
mov dword [0x636574], edx
mov eax, dword [esi + 0x9d50]
mov dword [0x636960], eax
xor eax, eax
mov ax, word [ecx + 0xe]
add eax, 0xfffffff8
cmp eax, 0x18
ja case.0x456366.12
xor edx, edx
mov dl, byte [eax + 0x4565dc]
jmp dword [edx*4 + 0x4565c8]
mov eax, dword [esi + 0x3018]
mov ecx, dword [esi + 0x301c]
mov dword [0x6365a0], eax
mov dword [0x6365a4], ecx
mov edx, dword [esi + 0x3058]
mov dword [0x636594], edx
mov eax, dword [esi + 0x3020]
mov ecx, dword [esi + 0x3024]
mov dword [0x636598], eax
mov dword [0x63659c], ecx
mov edx, dword [esi + 0x305c]
jmp 0x456479
mov eax, dword [esi + 0x3028]
mov ecx, dword [esi + 0x302c]
mov dword [0x6365a0], eax
mov dword [0x6365a4], ecx
mov edx, dword [esi + 0x3060]
mov dword [0x636594], edx
mov eax, dword [esi + 0x3030]
mov ecx, dword [esi + 0x3034]
mov dword [0x636598], eax
mov dword [0x63659c], ecx
mov edx, dword [esi + 0x3064]
jmp 0x456479
mov eax, dword [esi + 0x3038]
mov ecx, dword [esi + 0x303c]
mov dword [0x6365a0], eax
mov dword [0x6365a4], ecx
mov edx, dword [esi + 0x3068]
mov dword [0x636594], edx
mov eax, dword [esi + 0x3040]
mov ecx, dword [esi + 0x3044]
mov dword [0x636598], eax
mov dword [0x63659c], ecx
mov edx, dword [esi + 0x306c]
jmp 0x456479
mov eax, dword [esi + 0x3048]
mov ecx, dword [esi + 0x304c]
mov dword [0x6365a0], eax
mov dword [0x6365a4], ecx
mov edx, dword [esi + 0x3070]
mov dword [0x636594], edx
mov eax, dword [esi + 0x3050]
mov ecx, dword [esi + 0x3054]
mov dword [0x636598], eax
mov dword [0x63659c], ecx
mov edx, dword [esi + 0x3074]
mov dword [0x636590], edx
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x45658b
push eax
mov ecx, esi
call fcn.00470560
jmp 0x45658b
mov edx, dword [esi + 0x9d6c]
mov dword [esi + 0xc8], 1
cmp edx, edi
mov dword [esi + 0xcc], edi
mov ecx, 0x3ff00000
je 0x4564e4
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0x3f0], edi
mov dword [esi + 0x19d0], edi
mov dword [esi + 0x3f4], ecx
mov dword [esi + 0x19d4], ecx
mov dword [0x637ec0], edx
mov dword [0x637ec4], ebx
jmp 0x45650c
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esi + 0x3f0], edx
mov edx, dword [esp + 0x1c]
mov dword [esi + 0x3f4], ebx
mov ebx, dword [esp + 0x20]
mov dword [esi + 0x19d0], edx
mov dword [esi + 0x19d4], ebx
mov dword [esi + 0xd0], eax
mov eax, dword [esp + 0x24]
mov dword [esi + 0xa30], edi
mov dword [esi + 0x2010], edi
mov dword [esi + 0x1070], edi
mov dword [esi + 0x2650], edi
mov dword [esi + 0xa34], ecx
mov dword [esi + 0x2014], ecx
mov dword [esi + 0x16b0], eax
mov dword [esi + 0x1074], edi
mov dword [esi + 0x2654], edi
mov ecx, dword [0x63c2f0]
cmp word [ecx + 2], 2
jne 0x456580
mov eax, dword [esi + 0x9d6c]
mov dword [esi + 0xcc], 1
cmp eax, edi
je 0x456580
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
mov dword [0x637eb0], edx
mov dword [0x637eb4], eax
mov ecx, dword [ebp + 8]
push ecx
mov ecx, esi
call fcn.00456600
lea ecx, [esp + 0xc]
mov byte [esp + 0xf8], 0
call fcn.005df184
lea ecx, [esp + 0x10]
mov dword [esp + 0xf8], 0xffffffff
call fcn.005df184
mov ecx, dword [esp + 0xf0]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4