Function at 0x4021a0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x40c93f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
lea ecx, [esp + 8]
mov dword [esp + 0xc], 0
call fcn.0040c0a4
mov ebx, 1
push 0x4133d0
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], ebx
call fcn.0040c140
mov esi, dword [esp + 0x40]
xor eax, eax
mov ax, word [esi]
cmp eax, 0x48
ja case.0x4021fc.38
xor ecx, ecx
mov cl, byte [eax + 0x4026dc]
jmp dword [ecx*4 + 0x402640]
lea ecx, [esp + 8]
call fcn.0040c182
jmp case.0x4021fc.38
movsx edx, word [esi + 8]
push edx
lea eax, [esp + 0xc]
push 0x4133cc
push eax
call fcn.0040c164
add esp, 0xc
jmp case.0x4021fc.38
mov ecx, dword [esi + 8]
lea edx, [esp + 8]
push ecx
push 0x4133c8
push edx
call fcn.0040c164
add esp, 0xc
jmp case.0x4021fc.38
fld dword [esi + 8]
sub esp, 8
lea eax, [esp + 0x10]
fstp qword [esp]
push 0x4133c0
push eax
call fcn.0040c164
add esp, 0x10
jmp case.0x4021fc.38
fld qword [esi + 8]
sub esp, 8
lea ecx, [esp + 0x10]
fstp qword [esp]
push 0x4133bc
push ecx
call fcn.0040c164
add esp, 0x10
jmp case.0x4021fc.38
push esi
lea ecx, [esp + 0x18]
call fcn.0040c17c
push 0x400
lea edx, [esp + 0x44]
push 0
push edx
lea ecx, [esp + 0x20]
call fcn.0040c176
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 2
call fcn.0040c152
lea ecx, [esp + 0x40]
mov byte [esp + 0x34], bl
call fcn.0040c074
jmp case.0x4021fc.38
push esi
lea ecx, [esp + 0x24]
call fcn.0040c170
lea eax, [esp + 0x10]
push 0x4133b0
push eax
lea ecx, [esp + 0x28]
call fcn.0040c16a
push eax
lea ecx, [esp + 0xc]
mov byte [esp + 0x38], 3
call fcn.0040c152
lea ecx, [esp + 0x10]
mov byte [esp + 0x34], bl
call fcn.0040c074
jmp case.0x4021fc.38
mov ecx, dword [esi + 8]
push ecx
jmp 0x402447
push 0x4133a4
jmp 0x402447
push 0x413398
jmp 0x402447
movsx edx, word [esi + 8]
push edx
call fcn.00402190
mov esi, dword [esp + 0x40]
add esp, 4
mov ecx, esi
push eax
call fcn.0040c062
mov dword [esp + 0xc], ebx
lea ecx, [esp + 8]
mov byte [esp + 0x34], 0
call fcn.0040c074
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
add esp, 0x30
ret
push 0x41338c
jmp 0x402447
push 0x413380
jmp 0x402447
push 0x413378
jmp 0x402447
xor eax, eax
lea ecx, [esp + 8]
mov al, byte [esi + 8]
push eax
push 0x4133cc
push ecx
call fcn.0040c164
add esp, 0xc
jmp case.0x4021fc.38
push 0x413370
jmp 0x402447
push 0x413368
jmp 0x402447
push 0x413360
jmp 0x402447
push 0x413358
jmp 0x402447
push 0x413350
jmp 0x402447
push 0x413348
jmp 0x402447
push 0x413340
jmp 0x402447
push 0x413334
jmp 0x402447
push 0x41332c
jmp 0x402447
push 0x41331c
jmp 0x402447
push 0x413310
jmp 0x402447
push 0x413300
jmp 0x402447
push 0x4132f4
jmp 0x402447
push 0x4132e8
jmp 0x402447
push 0x4132dc
jmp 0x402447
push 0x4132d4
jmp 0x402447
push 0x4132c8
jmp 0x402447
push 0x4132bc
jmp 0x402447
push 0x4132a8
jmp 0x402447
push 0x413294
jmp 0x402447
push 0x413284
jmp 0x402447
push 0x41327c
jmp 0x402447
push 0x413270
lea ecx, [esp + 0xc]
call fcn.0040c140
push edi
mov di, word [esi]
test edi, 0x2000
je 0x402470
push 0x413264
lea ecx, [esp + 0x10]
and edi, 0xdfff
call fcn.0040c140
test edi, 0x4000
je 0x40248c
push 0x413258
lea ecx, [esp + 0x10]
and edi, 0xbfff
call fcn.0040c13a
cmp di, word [esi]
je case.0x4024ac.39
and edi, 0xffff
cmp edi, 0x48
ja case.0x4024ac.39
xor edx, edx
mov dl, byte [edi + 0x4027c8]
jmp dword [edx*4 + 0x402728]
push 0x41324c
jmp 0x4025fe
push 0x413244
jmp 0x4025fe
push 0x41323c
jmp 0x4025fe
push 0x413234
jmp 0x4025fe
push 0x41322c
jmp 0x4025fe
push 0x413224
jmp 0x4025fe
push 0x41321c
jmp 0x4025fe
push 0x413214
jmp 0x4025fe
push 0x41320c
jmp 0x4025fe
push 0x4133a4
jmp 0x4025fe
push 0x413398
jmp 0x4025fe
push 0x413204
jmp 0x4025fe
push 0x41338c
jmp 0x4025fe
push 0x413380
jmp 0x4025fe
push 0x413378
jmp 0x4025fe
push 0x4131fc
jmp 0x4025fe
push 0x413370
jmp 0x4025fe
push 0x413368
jmp 0x4025fe
push 0x413360
jmp 0x4025fe
push 0x413358
jmp 0x4025fe
push 0x413350
jmp 0x4025fe
push 0x413348
jmp 0x4025fe
push 0x413340
jmp 0x4025fe
push 0x413334
jmp 0x4025fe
push 0x41332c
jmp 0x4025fe
push 0x41331c
jmp 0x4025fe
push 0x413310
jmp 0x4025fe
push 0x413300
jmp 0x4025fe
push 0x4132f4
jmp 0x4025fe
push 0x4132e8
jmp 0x4025fe
push 0x4132dc
jmp 0x4025fe
push 0x4132d4
jmp 0x4025fe
push 0x4132c8
jmp 0x4025fe
push 0x4132bc
jmp 0x4025fe
push 0x4132a8
jmp 0x4025fe
push 0x413294
jmp 0x4025fe
push 0x413284
jmp 0x4025fe
push 0x41327c
jmp 0x4025fe
push 0x413270
lea ecx, [esp + 0x10]
call fcn.0040c13a
mov esi, dword [esp + 0x40]
lea eax, [esp + 0xc]
push eax
mov ecx, esi
call fcn.0040c0fe
lea ecx, [esp + 0xc]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x38], 0
call fcn.0040c074
mov ecx, dword [esp + 0x30]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0x30
ret