Function at 0x439e20
Capabilities:
Check for time delay via queryperformancecounter
Read file on windows
Write file on windows

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x47eb77
push eax
mov dword fs:[0], esp
sub esp, 0x1f4
push ebx
push ebp
push esi
mov esi, ecx
push edi
mov edi, esi
call fcn.0041a890
mov edx, dword [esi + 0xb1c]
mov eax, dword [edx]
cmp eax, edx
je 0x439e79
fld qword [0x4872f0]
fld qword [esi + 0xca8]
mov ecx, dword [eax + 8]
fmul st(1)
fsub qword [ecx + 0xb8]
fstp qword [ecx + 0xc0]
mov eax, dword [eax]
cmp eax, edx
jne 0x439e5a
fstp st(0)
mov eax, esi
call fcn.00420250
mov edi, dword [esi + 0xbbc]
mov eax, dword [esi + 0xbc0]
mov byte [esi + 0xbd8], 1
cmp edi, eax
je 0x439f32
jmp 0x439ea0
cmp byte [esi + 0xc85], 0
je 0x439eb7
mov eax, dword [edi]
mov ecx, dword [eax + 0xa4]
cmp byte [ecx + 0x70], 0
jne 0x439f23
mov edx, dword [edi]
mov eax, dword [edx + 0x3c]
mov dword [esi + 0xcec], eax
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
test eax, eax
je 0x439f23
mov ecx, dword [esi + 0xbbc]
mov eax, edi
sub eax, ecx
mov ecx, dword [esi + 0xbc0]
mov ecx, dword [ecx - 4]
mov dword [edi], ecx
mov ecx, dword [esi + 0xbc0]
mov edx, ecx
sub edx, dword [esi + 0xbbc]
sar eax, 2
test edx, 0xfffffffc
je 0x439f05
add ecx, 0xfffffffc
mov dword [esi + 0xbc0], ecx
mov edi, dword [esi + 0xbbc]
lea edi, [edi + eax*4]
mov eax, dword [esi + 0xbc0]
sub eax, dword [esi + 0xbbc]
test eax, 0xfffffffc
je 0x439f32
jmp 0x439f26
add edi, 4
cmp edi, dword [esi + 0xbc0]
jne 0x439ea0
mov byte [esi + 0xbd8], 0
mov ecx, dword [esi + 0xbe4]
sub ecx, dword [esi + 0xbe0]
test ecx, 0xfffffffc
je 0x439fb4
mov ecx, dword [esi + 0xbe4]
mov edi, dword [esp + 0x44]
mov edx, dword [esi + 0xbe0]
mov eax, dword [esi + 0xbc0]
push edi
push ecx
push edx
push eax
lea ecx, [esi + 0xbb8]
call fcn.00430900
mov ecx, dword [esi + 0xbe4]
mov edx, dword [esi + 0xbe0]
mov eax, ecx
sub eax, edx
sar eax, 2
test eax, eax
jbe 0x439fb4
cmp edx, ecx
je 0x439fb4
mov eax, ecx
sub eax, ecx
sar eax, 2
lea edi, [eax*4]
lea ebp, [edx + edi]
test eax, eax
jle 0x439fae
push edi
push ecx
push edi
push edx
call fcn.00460e12
add esp, 0x10
mov dword [esi + 0xbe4], ebp
push esi
call fcn.0041a1d0
cmp byte [esi + 0xb04], 0
je 0x439fc9
push esi
call fcn.00419e40
mov edi, dword [esi + 0xbcc]
mov byte [esi + 0xbd9], 1
cmp edi, dword [esi + 0xbd0]
je 0x43a075
cmp byte [esi + 0xc85], 0
je 0x439ff9
mov ecx, dword [edi]
mov edx, dword [ecx + 0xa4]
cmp byte [edx + 0x70], 0
jne 0x43a066
mov eax, dword [edi]
mov ecx, dword [eax + 0x3c]
mov dword [esi + 0xcec], ecx
mov ecx, dword [edi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
call eax
test eax, eax
je 0x43a066
mov ecx, dword [esi + 0xbcc]
mov eax, edi
sub eax, ecx
mov ecx, dword [esi + 0xbd0]
mov ecx, dword [ecx - 4]
mov dword [edi], ecx
mov ecx, dword [esi + 0xbd0]
mov edx, ecx
sub edx, dword [esi + 0xbcc]
sar eax, 2
test edx, 0xfffffffc
je 0x43a048
add ecx, 0xfffffffc
mov dword [esi + 0xbd0], ecx
mov edi, dword [esi + 0xbcc]
lea edi, [edi + eax*4]
mov eax, dword [esi + 0xbd0]
sub eax, dword [esi + 0xbcc]
test eax, 0xfffffffc
je 0x43a075
jmp 0x43a069
add edi, 4
cmp edi, dword [esi + 0xbd0]
jne 0x439fe2
mov byte [esi + 0xbd9], 0
mov ecx, dword [esi + 0xbe4]
sub ecx, dword [esi + 0xbe0]
test ecx, 0xfffffffc
je 0x43a0f7
mov ecx, dword [esi + 0xbe4]
mov edi, dword [esp + 0x44]
mov edx, dword [esi + 0xbe0]
mov eax, dword [esi + 0xbd0]
push edi
push ecx
push edx
push eax
lea ecx, [esi + 0xbc8]
call fcn.00430900
mov ecx, dword [esi + 0xbe4]
mov edx, dword [esi + 0xbe0]
mov eax, ecx
sub eax, edx
sar eax, 2
test eax, eax
jbe 0x43a0f7
cmp edx, ecx
je 0x43a0f7
mov eax, ecx
sub eax, ecx
sar eax, 2
lea edi, [eax*4]
lea ebp, [edx + edi]
test eax, eax
jle 0x43a0f1
push edi
push ecx
push edi
push edx
call fcn.00460e12
add esp, 0x10
mov dword [esi + 0xbe4], ebp
mov edi, esi
call fcn.00419fe0
mov ecx, dword [esi + 0xc04]
sub ecx, dword [esi + 0xc00]
test ecx, 0xfffffffc
je 0x43a20e
mov eax, dword [esi + 0xc04]
mov ebx, dword [esi + 0xc00]
mov dword [esp + 0x4c], eax
cmp ebx, eax
je 0x43a1cc
mov edi, edi
mov edx, dword [esi]
mov edi, dword [ebx]
mov ebp, dword [esi + 0x20c]
mov eax, dword [edx + 0x98]
push 0
push 2
push 0xffffffffffffffff
mov ecx, esi
mov dword [esi + 0x20c], edi
call eax
mov dword [esi + 0x20c], ebp
call fcn.004335b0
mov eax, dword [edi + 0xd8]
test eax, eax
je 0x43a177
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [edi + 0xd8], 0
mov ecx, dword [esi + 0xb58]
mov eax, dword [esi + 0xb54]
cmp eax, ecx
je 0x43a1bf
cmp dword [eax], edi
je 0x43a192
add eax, 4
cmp eax, ecx
jne 0x43a187
cmp eax, ecx
je 0x43a1bf
mov ecx, dword [esi + 0xb58]
lea edx, [eax + 4]
sub ecx, edx
sar ecx, 2
test ecx, ecx
jle 0x43a1b8
add ecx, ecx
add ecx, ecx
push ecx
push edx
push ecx
push eax
call fcn.00460e12
add esp, 0x10
add dword [esi + 0xb58], 0xfffffffc
add ebx, 4
cmp ebx, dword [esp + 0x4c]
jne 0x43a130
mov ecx, dword [esi + 0xc04]
mov edi, dword [esi + 0xc00]
mov eax, ecx
sub eax, edi
sar eax, 2
test eax, eax
jbe 0x43a20e
cmp edi, ecx
je 0x43a20e
mov eax, ecx
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
lea ebp, [edi + edx]
test eax, eax
jle 0x43a208
push edx
push ecx
push edx
push edi
call fcn.00460e12
add esp, 0x10
mov dword [esi + 0xc04], ebp
mov edi, esi
call fcn.00419f60
cmp byte [esp + 0x214], 0
je 0x43a3a7
lea ebp, [esi + 0x300]
mov eax, ebp
call fcn.00450ef0
mov ebx, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea ecx, [esp + 0x4c]
push ecx
call ebx
mov eax, ebp
call fcn.00450ef0
mov eax, dword [ebp + 8]
mov edx, dword [eax]
push 0
push 0
push 0
push 0
push eax
mov eax, dword [edx + 0x44]
call eax
lea ecx, [esp + 0x44]
mov edi, eax
push ecx
mov dword [ebp + 0x4b0], edi
mov byte [ebp + 0x465], 0
call ebx
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
sbb eax, dword [esp + 0x50]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], eax
fild qword [esp + 0x34]
fild qword [esi + 0x118]
fdivp st(1)
fadd qword [esi + 0x130]
fstp qword [esi + 0x130]
cmp edi, 0x88760868
jne 0x43a300
cmp byte [esi + 0xb4c], 0
jne 0x43a2bc
mov eax, esi
call fcn.0041f740
mov byte [esi + 0xb4c], 1
mov eax, dword [esi + 0x308]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
cmp eax, 0x88760869
jne 0x43a32a
mov edi, esi
mov byte [esi + 0xb4c], 0
call fcn.0041fbe0
mov edi, ebp
call fcn.0044e910
call fcn.0041fcc0
mov eax, dword [esi]
mov edx, dword [eax + 0x98]
xor ebx, ebx
push ebx
push 0x22
push 0xffffffffffffffff
mov ecx, esi
call edx
jmp 0x43a32c
test edi, edi
jge 0x43a323
push edi
lea eax, [esp + 0x18]
push eax
mov edx, str.Failed_to_present_the_screen
call fcn.0044b870
push 0x4979fc
lea ecx, [esp + 0x18]
push ecx
call fcn.004637cb
mov edi, esi
call fcn.0041fbe0
xor ebx, ebx
mov edi, dword [esi + 0xb54]
cmp edi, dword [esi + 0xb58]
je 0x43a363
lea ebx, [ebx]
mov eax, dword [edi]
mov ecx, dword [eax + 0xd8]
mov eax, dword [eax + 0x74]
mov edx, dword [ecx]
push ebx
push ebx
push eax
push ebx
push ebx
push ecx
mov ecx, dword [edx + 0xc]
call ecx
add edi, 4
cmp edi, dword [esi + 0xb58]
jne 0x43a340
mov ecx, dword [esi + 0xb58]
mov edi, dword [esi + 0xb54]
mov edx, ecx
sub edx, edi
sar edx, 2
test edx, edx
jbe 0x43a3a9
cmp edi, ecx
je 0x43a3a9
mov eax, ecx
sub eax, ecx
sar eax, 2
cmp eax, ebx
lea edx, [eax*4]
lea ebp, [edx + edi]
jle 0x43a39f
push edx
push ecx
push edx
push edi
call fcn.00460e12
add esp, 0x10
mov dword [esi + 0xb58], ebp
jmp 0x43a3a9
xor ebx, ebx
cmp byte [esi + 0x2c5], 0
mov ebp, vtable.bin.0
je 0x43a487
mov eax, dword [esi + 0x2c8]
push str._quicksave_
push eax
mov byte [esi + 0x2c5], 0
call fcn.0046131d
add esp, 8
cmp eax, ebx
sete al
test al, al
je 0x43a3f1
lea eax, [esi + 0x2cc]
push eax
push esi
call fcn.0041d5b0
jmp 0x43a487
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], 0x4a49a0
mov dword [esp + 0x20c], ebx
lea ecx, [esp + 0x14]
push ecx
push esi
call fcn.0041d5b0
mov eax, dword [esi + 0x2c8]
push 0x485c60
push eax
call fcn.00461cd5
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x43a454
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
push edi
push 1
push edx
push eax
call fcn.00461ed9
push edi
call fcn.00461fd2
add esp, 0x14
mov dword [esp + 0x20c], 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ebp
cmp eax, ebx
je 0x43a487
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
cmp byte [esi + 0x2c4], 0
je 0x43a5bb
mov eax, dword [esi + 0x2c8]
push str._quicksave_
push eax
mov byte [esi + 0x2c4], 0
call fcn.0046131d
add esp, 8
cmp eax, ebx
sete al
test al, al
je 0x43a4ca
lea ecx, [esi + 0x2cc]
push ecx
push esi
call fcn.0041e8b0
jmp 0x43a5aa
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x18], 0x4a49a0
mov dword [esp + 0x20c], 1
mov eax, dword [esi + 0x2c8]
push 0x486314
push eax
call fcn.00461cd5
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x43a56c
push 2
push ebx
push edi
call fcn.004623c4
add esp, 0xc
push edi
call fcn.004625e6
add esp, 4
push ebx
push ebx
push edi
mov ebp, eax
call fcn.004623c4
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 8]
add esp, 0xc
lea ecx, [esp + 0x14]
call eax
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
push 1
push ebp
lea ecx, [esp + 0x1c]
call eax
test al, al
je 0x43a55e
mov ecx, dword [esp + 0x20]
push edi
push 1
push ebp
push ecx
call fcn.0046231d
add esp, 0x10
push edi
call fcn.00461fd2
add esp, 4
mov ebp, vtable.bin.0
lea edx, [esp + 0x14]
push edx
push esi
call fcn.0041e8b0
mov dword [esp + 0x20c], 0xffffffff
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], ebp
cmp eax, ebx
je 0x43a5aa
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov edx, dword [esi]
mov eax, dword [edx + 0x98]
push ebx
push 0x21
push 0xffffffffffffffff
mov ecx, esi
call eax
cmp byte [esi + 0x2e8], 0
je 0x43aa68
mov al, byte [esi + 0xb88]
mov byte [esi + 0x2e8], 0
mov byte [esp + 0x13], al
test al, al
jne 0x43a5e6
cmp dword [esi + 0x2f4], 1
jne 0x43a65a
mov ecx, dword [esi + 0x2ec]
mov edx, dword [esi + 0x2f0]
mov ebp, 0x186a0
xor edi, edi
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], edx
mov ebx, ebp
lea eax, [esp + 0x64]
push eax
push edi
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
inc edi
test eax, eax
je 0x43a63e
mov ecx, dword [esp + 0xd0]
cmp ecx, dword [esp + 0x4c]
jl 0x43a603
mov eax, dword [esp + 0xd4]
cmp eax, dword [esp + 0x44]
jl 0x43a603
cmp ecx, ebp
jge 0x43a603
cmp eax, ebx
jge 0x43a603
mov ebp, ecx
mov ebx, eax
jmp 0x43a603
cmp ebp, 0x186a0
je 0x43a65a
cmp ebx, 0x186a0
je 0x43a65a
mov dword [esi + 0x2ec], ebp
mov dword [esi + 0x2f0], ebx
mov eax, dword [esi + 0x2f4]
cmp eax, 0xffffffff
mov ebx, dword [sym.imp.USER32.dll_SetRect]
jle 0x43a749
mov ecx, dword [esi + 0x440]
test eax, eax
setne al
xor edx, edx
test al, al
sete dl
mov byte [esi + 0xb88], al
mov dword [ecx + 0x20], edx
cmp byte [esi + 0xb88], 0
je 0x43a749
lea ecx, [esp + 0x64]
mov byte [esi + 0x111], 1
call fcn.00458631
mov dword [esp + 0x20c], 2
mov eax, dword [esi + 0xc58]
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x68]
call fcn.004597f7
push 0
push 0x80000000
push 0xc80000
lea ecx, [esp + 0x70]
call fcn.0045c2d9
mov eax, dword [esi + 0x888]
mov ecx, dword [esi + 0x884]
push eax
push ecx
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
call ebx
push 0
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x6c]
call fcn.00457d96
mov eax, dword [esp + 0x40]
sub eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
push 6
push eax
push ecx
push 0
push 0
push 0
lea ecx, [esp + 0x7c]
call fcn.0045c347
lea ecx, [esp + 0x64]
call fcn.00459833
mov byte [esi + 0x111], 0
mov dword [esp + 0x20c], 0xffffffff
lea ecx, [esp + 0x64]
call fcn.00459f03
mov eax, dword [esi + 0x2f0]
mov edx, dword [esi + 0x2ec]
mov dword [esi + 0x888], eax
mov eax, dword [esi + 0xb0c]
mov dword [esi + 0x884], edx
cmp eax, dword [esi + 0xb10]
je 0x43a791
nop
mov ecx, dword [eax]
mov edx, dword [esi + 0x884]
mov dword [ecx + 0x10], edx
mov ecx, dword [eax]
mov edx, dword [esi + 0x888]
add eax, 4
mov dword [ecx + 0x14], edx
cmp eax, dword [esi + 0xb10]
jne 0x43a770
lea ecx, [esp + 0x104]
mov byte [esi + 0x111], 1
call fcn.00458631
mov dword [esp + 0x20c], 3
mov eax, dword [esi + 0xc58]
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x108]
call fcn.004597f7
mov eax, dword [esi + 0x888]
mov ecx, dword [esi + 0x884]
push eax
push ecx
push 0
push 0
lea ecx, [esp + 0x64]
push ecx
call ebx
push 0
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x10c]
call fcn.00457d96
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
sub ecx, dword [esp + 0x54]
push 6
push eax
push ecx
push 0
push 0
push 0
lea ecx, [esp + 0x11c]
call fcn.0045c347
lea ecx, [esp + 0x104]
call fcn.00459833
mov eax, dword [esi + 0xc58]
mov edi, dword [sym.imp.USER32.dll_GetClientRect]
lea edx, [esp + 0x14]
mov byte [esi + 0x111], 0
mov eax, dword [eax]
push edx
push eax
call edi
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
sub ecx, dword [esp + 0x14]
sub edx, dword [esp + 0x18]
mov eax, dword [esi + 0x440]
mov dword [esi + 0x894], ecx
mov dword [esi + 0x898], edx
cmp dword [eax + 0x20], 0
je 0x43a891
mov eax, dword [esi + 0xc58]
mov edx, dword [eax]
lea ecx, [esp + 0x34]
push ecx
push edx
call edi
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
mov eax, dword [esi + 0x440]
mov dword [eax], ecx
mov edx, dword [esp + 0x40]
sub edx, dword [esp + 0x38]
jmp 0x43a89f
mov ecx, dword [esi + 0x884]
mov dword [eax], ecx
mov edx, dword [esi + 0x888]
mov eax, dword [esi + 0x440]
mov dword [eax + 4], edx
mov eax, dword [esi + 0x2f8]
cmp eax, 0xffffffff
jle 0x43a8c2
mov edi, dword [esi + 0x440]
inc eax
call fcn.0044bee0
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x440]
mov dword [eax + 0xc], 1
mov eax, dword [esi + 0x440]
mov dword [eax + 8], 0x16
mov eax, esi
call fcn.0041f740
lea edi, [esi + 0x300]
call fcn.0044e910
call fcn.0041fcc0
mov ebp, dword [esi + 0xaf8]
cmp ebp, dword [esi + 0xafc]
je 0x43a938
mov eax, dword [ebp]
mov edi, dword [eax + 0x5c]
cmp edi, dword [eax + 0x60]
je 0x43a92d
lea esp, [esp]
mov ecx, dword [edi]
mov eax, dword [esi]
mov edx, dword [eax + 0x150]
push ecx
mov ecx, esi
call edx
mov eax, dword [ebp]
add edi, 4
add eax, 0x58
cmp edi, dword [eax + 8]
jne 0x43a910
add ebp, 4
cmp ebp, dword [esi + 0xafc]
jne 0x43a901
cmp byte [esi + 0xb88], 0
jne 0x43aa35
lea ecx, [esp + 0x64]
mov byte [esi + 0x111], 1
call fcn.00458631
mov byte [esp + 0x20c], 4
mov eax, dword [esi + 0xc58]
mov eax, dword [eax]
push eax
lea ecx, [esp + 0x68]
call fcn.004597f7
cmp byte [esi + 0x89c], 0
je 0x43a98d
push 0
push 0xc80000
push 0x80000000
lea ecx, [esp + 0x70]
call fcn.0045c2d9
mov eax, dword [esi + 0x888]
mov ecx, dword [esi + 0x884]
push eax
push ecx
push 0
push 0
lea ecx, [esp + 0x44]
push ecx
call ebx
push 0
lea edx, [esp + 0x38]
push edx
lea ecx, [esp + 0x6c]
call fcn.00457d96
cmp byte [esp + 0x13], 0
je 0x43aa14
lea eax, [esp + 0x15c]
push eax
push 0xffffffffffffffff
push 0
call dword [sym.imp.USER32.dll_EnumDisplaySettingsA]
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x1c8]
mov ebp, dword [esp + 0x40]
sub ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x1cc]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
shr edi, 1
sub edi, eax
mov eax, ebp
cdq
push 4
push ebp
sub eax, edx
push ecx
shr ebx, 1
sar eax, 1
sub ebx, eax
push ebx
push edi
push 0
lea ecx, [esp + 0x7c]
call fcn.0045c347
lea ecx, [esp + 0x64]
call fcn.00459833
mov byte [esi + 0x111], 0
mov byte [esp + 0x20c], 3
lea ecx, [esp + 0x64]
call fcn.00459f03
mov edx, dword [esi]
mov eax, dword [edx + 0x98]
push 0
or edi, 0xffffffff
push 0x22
push edi
mov ecx, esi
mov dword [esi + 0x2f4], edi
mov dword [esi + 0x2f8], edi
call eax
mov dword [esp + 0x20c], edi
lea ecx, [esp + 0x104]
call fcn.00459f03
mov ecx, dword [esp + 0x204]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x200
ret 4