Function at 0x4b2e30
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4cd29c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x460
push esi
push edi
mov dword [ebp - 0x18], edx
mov esi, ecx
nop dword [eax]
movzx eax, word [esi]
mov edi, eax
cmp eax, 0x20
je 0x4b2e7f
cmp edi, 9
jne 0x4b2e84
add esi, 2
jmp 0x4b2e70
mov eax, dword [sym.imp.VCRUNTIME140.dll_wcschr]
push 0x2c
push ecx
mov dword [ebp - 0x30], eax
call eax
mov edi, eax
add esp, 8
test edi, edi
je 0x4b3a61
cmp word [edi], 0
je 0x4b3a61
push 0x2c
add edi, 2
push esi
mov dword [ebp - 0x40], edi
call dword [ebp - 0x30]
add esp, 8
test eax, eax
je 0x4b2ec9
push 0x2c
push esi
call dword [ebp - 0x30]
add esp, 8
xor ecx, ecx
mov word [eax], cx
movzx eax, word [edi]
mov ecx, eax
test ax, ax
je 0x4b2f22
mov edx, edi
movzx eax, ax
cmp eax, 0x20
je 0x4b2ee2
cmp eax, 9
jne 0x4b2eeb
movzx eax, word [edx + 2]
add edx, 2
jmp 0x4b2ed5
mov eax, edx
sub eax, edi
cmp eax, 2
jb 0x4b2f22
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x38], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b2f00
sub ecx, dword [ebp - 0x38]
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push edi
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b2f27
sub ecx, edx
lea eax, [ebp - 0x54]
sar ecx, 1
push eax
push ecx
push esi
mov ecx, 0x4fcc10
call fcn.0043dcb0
test eax, eax
je 0x4b2f55
push ecx
push str.Duplicate_function_definition.
jmp 0x4b3a67
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b2f60
push 0
push dword [ebp - 0x54]
sub ecx, edx
sar ecx, 1
push 0
push ecx
push esi
mov ecx, 0x4fcc10
call fcn.0043f270
mov dword [ebp - 0x58], eax
test eax, eax
jne 0x4b2f9c
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov dword [eax + 8], 0x4692f0
mov esi, 0x4001
mov byte [eax + 0x51], 1
mov edx, str._A_ScriptDir_
mov dword [eax + 0x14], 0
mov ecx, edi
mov eax, edi
sub eax, dword [ebp - 0x18]
sar eax, 1
sub esi, eax
mov dword [ebp - 0x18], esi
call fcn.004b09f0
test eax, eax
je 0x4b300f
mov edx, dword [0x4fd6f4]
lea ecx, [ebp - 0x268]
mov eax, ecx
sub edx, eax
nop
movzx eax, word [ecx + edx]
lea ecx, [ecx + 2]
mov word [ecx - 2], ax
test ax, ax
jne 0x4b2fe0
push 0
push 0
push esi
push 1
lea eax, [ebp - 0x268]
mov edx, str._A_ScriptDir_
push 0
push eax
mov ecx, edi
call fcn.004b0de0
add esp, 0x18
mov edx, str._A_AppData_
mov ecx, edi
call fcn.004b09f0
test eax, eax
je 0x4b304f
lea eax, [ebp - 0x268]
push str.A_AppData
push eax
call fcn.00465080
push 0
push 0
push esi
push 1
lea eax, [ebp - 0x268]
mov edx, str._A_AppData_
push 0
push eax
mov ecx, edi
call fcn.004b0de0
add esp, 0x20
mov edx, str._A_AppDataCommon_
mov ecx, edi
call fcn.004b09f0
test eax, eax
je 0x4b308f
lea eax, [ebp - 0x268]
push str.A_AppDataCommon
push eax
call fcn.00465080
push 0
push 0
push esi
push 1
lea eax, [ebp - 0x268]
mov edx, str._A_AppDataCommon_
push 0
push eax
mov ecx, edi
call fcn.004b0de0
add esp, 0x20
mov edx, str._A_AhkPath_
mov ecx, edi
call fcn.004b09f0
test eax, eax
je 0x4b30ec
push 0x104
lea eax, [ebp - 0x470]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor ecx, ecx
movzx eax, word [ebp + ecx - 0x470]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x26a], ax
test ax, ax
jne 0x4b30b5
push 0
push 0
push esi
push 1
lea eax, [ebp - 0x268]
mov edx, str._A_AhkPath_
push 0
push eax
mov ecx, edi
call fcn.004b0de0
add esp, 0x18
mov edx, str._A_AhkDir_
mov ecx, edi
call fcn.004b09f0
test eax, eax
je 0x4b3166
push 0x104
lea eax, [ebp - 0x470]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x470]
push 0x5c
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov esi, eax
lea eax, [ebp - 0x470]
sub esi, eax
sar esi, 1
push esi
push eax
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0x14
xor eax, eax
mov word [ebp + esi*2 - 0x268], ax
mov edx, str._A_AhkDir_
mov esi, dword [ebp - 0x18]
mov ecx, edi
push eax
push eax
push esi
push 1
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.004b0de0
add esp, 0x18
mov edx, str._A_DllDir_
mov ecx, edi
call fcn.004b09f0
test eax, eax
je 0x4b31fe
mov esi, dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x470]
push 0x104
push eax
push dword [0x4faae0]
call esi
test eax, eax
jne 0x4b31a8
push 0x104
lea eax, [ebp - 0x470]
push eax
push 0
call esi
lea eax, [ebp - 0x470]
push 0x5c
push eax
call dword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov esi, eax
lea eax, [ebp - 0x470]
sub esi, eax
sar esi, 1
push esi
push eax
lea eax, [ebp - 0x268]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0x14
xor eax, eax
mov word [ebp + esi*2 - 0x268], ax
mov edx, str._A_DllDir_
mov esi, dword [ebp - 0x18]
mov ecx, edi
push eax
push eax
push esi
push 1
push eax
lea eax, [ebp - 0x268]
push eax
call fcn.004b0de0
add esp, 0x18
mov edx, str._A_DllPath_
mov ecx, edi
call fcn.004b09f0
test eax, eax
je 0x4b3277
push 0x104
lea eax, [ebp - 0x470]
push eax
push dword [0x4faae0]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4b323e
push 0x104
lea eax, [ebp - 0x470]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
xor ecx, ecx
movzx eax, word [ebp + ecx - 0x470]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x26a], ax
test ax, ax
jne 0x4b3240
push 0
push 0
push esi
push 1
lea eax, [ebp - 0x268]
mov edx, str._A_DllPath_
push 0
push eax
mov ecx, edi
call fcn.004b0de0
add esp, 0x18
mov esi, dword [ebp - 0x30]
push 0x25
push edi
call esi
add esp, 8
test eax, eax
je 0x4b3291
push ecx
push str.Reference_not_allowed_here__use__where_possible._Only__A_AhkPath___A_AhkDir___A_DllPath___A_DllDir___A_ScriptDir___A_AppData_Common___can_be_used_here.
jmp 0x4b3a67
push 0x2c
push edi
call esi
add esp, 8
test eax, eax
je 0x4b32aa
push 0x2c
push edi
call esi
add esp, 8
xor ecx, ecx
mov word [eax], cx
mov edx, str._s_A_Fa_f0_9__:_A_Fa_f0_9____s_
mov ecx, edi
call fcn.0046cb90
test eax, eax
je 0x4b348a
push 0x3a
push edi
mov dword [ebp - 0x48], 0x780030
mov dword [ebp - 0x44], 0
call esi
add esp, 8
test eax, eax
je 0x4b32e6
push 0x3a
push edi
call esi
mov esi, eax
add esp, 8
sub esi, edi
jmp 0x4b32fd
mov esi, edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x4b32f0
sub esi, ecx
sar esi, 1
mov eax, esi
cdq
sub eax, edx
mov edx, eax
sar edx, 1
mov dword [ebp - 0x18], edx
lea ecx, [edx - 1]
cmp ecx, 0xffff
ja 0x4b347f
cmp dword [0x4fc368], 0
jne 0x4b3338
call fcn.004ad2a0
mov dword [0x4fc368], eax
test eax, eax
je 0x4b347f
mov edx, dword [ebp - 0x18]
mov ecx, dword [0x4fc364]
cmp edx, dword [ecx + 8]
jbe 0x4b335c
call fcn.004ad2a0
mov ecx, dword [0x4fc364]
mov dword [ecx + 0xc], eax
test eax, eax
je 0x4b347f
mov edx, dword [ebp - 0x18]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x34], eax
mov dword [0x4fc360], eax
mov eax, edx
and eax, 3
mov dword [ebp - 0x38], eax
mov eax, edx
je 0x4b337e
sub eax, dword [ebp - 0x38]
add eax, 4
mov dword [ebp - 0x18], eax
jmp 0x4b3381
mov dword [ebp - 0x18], edx
mov ecx, dword [0x4fc364]
add eax, dword [ebp - 0x34]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x18]
sub dword [ecx + 8], eax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x4b347f
push 0x40
push 0x1000
push edx
push eax
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
jne 0x4b33bc
push ecx
push str.Could_not_commit_memory_for_DllImport.
jmp 0x4b3a67
test esi, esi
jle 0x4b3405
mov eax, edi
xor edi, edi
mov dword [ebp - 0x18], eax
push 2
push eax
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
lea eax, [ebp - 0x48]
push 0x10
push 0
push eax
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_wcstol]
mov edx, dword [ebp - 0x34]
mov ecx, edi
shr ecx, 1
add edi, 2
add esp, 0xc
mov byte [ecx + edx], al
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp edi, esi
jl 0x4b33c7
mov edi, dword [ebp - 0x40]
mov ecx, edi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4b3410
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
lea esi, [edi + esi*2]
test esi, esi
je 0x4b3509
cmp word [esi], ax
je 0x4b3509
mov edi, esi
lea ecx, [edi + 2]
nop dword [eax + eax]
mov ax, word [edi]
add edi, 2
test ax, ax
jne 0x4b3440
sub edi, ecx
sar edi, 1
lea eax, [edi + edi]
lea ecx, [eax + 2]
mov dword [ebp - 0x18], eax
call fcn.004ad230
mov dword [ebp - 0x14], eax
test eax, eax
jne 0x4b34ec
push ecx
push 0x4e2be8
mov ecx, 0x4fcc10
call fcn.0044df00
xor eax, eax
jmp 0x4b350e
push ecx
push 0x4e2be8
jmp 0x4b3a67
mov ecx, edi
call fcn.004051f0
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x4b3405
push 0x5c
push edi
call dword [sym.imp.VCRUNTIME140.dll_wcsrchr]
mov esi, eax
add esp, 8
test esi, esi
je 0x4b34cd
xor eax, eax
push edi
mov word [esi], ax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x4b34c5
push edi
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov eax, 0x5c
mov word [esi], ax
xor edx, edx
mov ecx, edi
call fcn.00467a50
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x4b3405
push ecx
push str.Call_to_nonexistent_function.
jmp 0x4b3a67
test edi, edi
mov edi, dword [ebp - 0x18]
je 0x4b3501
push edi
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x14]
add esp, 0xc
xor ecx, ecx
mov word [edi + eax], cx
jmp 0x4b3511
mov eax, 0x4cec30
mov dword [ebp - 0x14], eax
cmp word [eax], 0
mov byte [ebp - 0x1d], 0
je 0x4b352d
mov ecx, eax
call fcn.00419ea0
mov dword [ebp - 0x2c], 1
test eax, eax
je 0x4b3534
mov dword [ebp - 0x2c], 0
mov edi, dword [ebp - 0x14]
cmp word [edi], 0
je 0x4b3586
push 0x2c
push esi
call dword [ebp - 0x30]
add esp, 8
test eax, eax
je 0x4b356f
mov edi, dword [ebp - 0x30]
nop dword [eax]
push 0x2c
push esi
call edi
test eax, eax
push 0x2c
lea esi, [eax + 2]
cmove esi, eax
inc dword [ebp - 0x2c]
push esi
call edi
add esp, 0x10
test eax, eax
jne 0x4b3550
mov edi, dword [ebp - 0x14]
cmp word [edi], 0
je 0x4b3586
cmp dword [ebp - 0x2c], 1
jge 0x4b3586
push ecx
push str.Parameter_3_required
jmp 0x4b3a67
cmp dword [0x4fc368], 0
jne 0x4b35a1
call fcn.004ad2a0
mov dword [0x4fc368], eax
test eax, eax
je 0x4b347f
mov edi, dword [0x4fc364]
cmp dword [edi + 8], 0x10
jae 0x4b35c3
call fcn.004ad2a0
mov edi, dword [0x4fc364]
mov dword [edi + 0xc], eax
test eax, eax
je 0x4b347f
mov edx, dword [edi + 4]
add dword [edi + 8], 0xfffffff0
mov dword [ebp - 0x18], edx
mov dword [0x4fc360], edx
lea eax, [edx + 0x10]
mov dword [edi + 4], eax
test edx, edx
je 0x4b347f
mov ecx, dword [ebp - 0x2c]
xorps xmm0, xmm0
mov dword [ebp - 0x3c], 0x20
movups xmmword [edx], xmm0
test cl, 1
jne 0x4b3602
mov dword [edx + 8], 2
jmp 0x4b36ba
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x4b3611
cmp ecx, 9
jne 0x4b3616
add esi, 2
jmp 0x4b3602
push 5
push str.CDecl
push esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], 0
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
add esp, 0xc
test eax, eax
jne 0x4b366d
mov edx, 0x10
add esi, 0xa
mov dword [ebp - 0x3c], edx
movzx eax, word [esi]
mov ecx, eax
cmp eax, 0x20
je 0x4b364f
cmp ecx, 9
jne 0x4b3654
add esi, 2
jmp 0x4b3640
mov dword [ebp - 0x50], esi
test cx, cx
jne 0x4b366d
mov esi, dword [ebp - 0x18]
mov eax, 2
mov dword [esi + 8], 2
jmp 0x4b368c
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x50]
mov edx, esi
call fcn.00467300
mov eax, dword [esi + 8]
test eax, eax
je case.0x4b38ad.0
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 0x1d], 1
mov ecx, dword [ebp - 0x2c]
dec ecx
cmp byte [esi + 0xc], 0
mov dword [ebp - 0x2c], ecx
jne 0x4b36b4
cmp eax, 7
jne 0x4b36a6
or edx, 0x200
jmp 0x4b36b1
cmp eax, 6
jne 0x4b36b4
or edx, 0x100
mov dword [ebp - 0x3c], edx
mov edi, dword [0x4fc364]
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov dword [ebp - 0x28], ecx
je 0x4b382a
mov esi, ecx
shl esi, 4
lea ecx, [esi - 1]
cmp ecx, 0xffff
ja 0x4b3727
cmp dword [0x4fc368], 0
jne 0x4b36f9
call fcn.004ad2a0
mov edi, dword [0x4fc364]
mov dword [0x4fc368], eax
test eax, eax
je 0x4b3727
cmp esi, dword [edi + 8]
jbe 0x4b3710
call fcn.004ad2a0
mov edi, dword [0x4fc364]
mov dword [edi + 0xc], eax
test eax, eax
je 0x4b3727
mov edx, dword [edi + 4]
sub dword [edi + 8], esi
mov dword [ebp - 0x1c], edx
mov dword [0x4fc360], edx
lea eax, [esi + edx]
mov dword [edi + 4], eax
jmp 0x4b372e
mov dword [ebp - 0x1c], 0
mov ecx, dword [ebp - 0x28]
mov esi, ecx
shl esi, 4
lea eax, [esi - 1]
cmp eax, 0xffff
ja 0x4b378e
cmp dword [0x4fc368], 0
jne 0x4b375d
call fcn.004ad2a0
mov edi, dword [0x4fc364]
mov dword [0x4fc368], eax
test eax, eax
je 0x4b378b
cmp esi, dword [edi + 8]
jbe 0x4b3774
call fcn.004ad2a0
mov edi, dword [0x4fc364]
mov dword [edi + 0xc], eax
test eax, eax
je 0x4b378b
mov edx, dword [edi + 4]
sub dword [edi + 8], esi
mov ecx, dword [ebp - 0x28]
mov dword [0x4fc360], edx
lea eax, [esi + edx]
mov dword [edi + 4], eax
jmp 0x4b3790
mov ecx, dword [ebp - 0x28]
xor edx, edx
cmp dword [ebp - 0x1c], 0
mov dword [ebp - 0x24], edx
je 0x4b347f
test edx, edx
je 0x4b347f
lea esi, [ecx*4]
lea eax, [esi - 1]
cmp eax, 0xffff
ja 0x4b383b
cmp dword [0x4fc368], 0
jne 0x4b37e5
call fcn.004ad2a0
mov dword [0x4fc368], eax
test eax, eax
jne 0x4b37df
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edi
jmp 0x4b383e
mov edi, dword [0x4fc364]
cmp esi, dword [edi + 8]
jbe 0x4b380a
call fcn.004ad2a0
mov edi, dword [0x4fc364]
mov dword [edi + 0xc], eax
test eax, eax
jne 0x4b380a
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edi
jmp 0x4b383e
mov ecx, dword [edi + 4]
sub dword [edi + 8], esi
mov dword [0x4fc360], ecx
lea eax, [esi + ecx]
mov dword [edi + 4], eax
mov eax, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], edi
jmp 0x4b3840
xor edi, edi
lea esi, [ecx*4]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
jmp 0x4b383e
mov edi, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x28], ecx
test esi, esi
je 0x4b385b
test ecx, ecx
je 0x4b347f
push esi
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x38], 1
cmp ecx, 1
jle 0x4b39f5
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x5c], edx
nop dword [eax]
push 0x2c
push esi
call dword [ebp - 0x30]
xor ecx, ecx
mov dword [ebp - 0x60], esi
add esp, 8
mov edx, edi
mov word [eax], cx
add eax, 2
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x14], eax
call fcn.00467300
mov eax, dword [edi + 8]
cmp eax, 8
ja case.0x4b38ad.2
jmp dword [eax*4 + 0x4b3a84]
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.004051f0
or eax, edx
jne case.0x4b38ad.0
mov dword [edi], esi
jmp 0x4b39bb
mov esi, dword [ebp - 0x14]
mov ecx, esi
call fcn.004051f0
or eax, edx
jne case.0x4b38ad.0
push 0x2c
push esi
call dword [ebp - 0x30]
add esp, 8
mov dword [ebp - 0x4c], eax
test eax, eax
je 0x4b38f4
xor ecx, ecx
mov word [eax], cx
push 0xc
call fcn.004cb6f5
mov esi, eax
mov dword [ebp - 0x44], esi
mov dword [ebp - 4], 0
mov dword [esi + 4], 0
mov byte [esi + 8], 0
push ecx
mov ecx, dword [ebp - 0x14]
mov edx, esi
mov byte [ebp - 4], 1
push 0xffffffffffffffff
mov dword [esi], vtable.CStringCharFromWChar.0
call fcn.004ad560
mov ecx, dword [ebp - 0x40]
add esp, 0xc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4c]
mov dword [edx + ecx*4], esi
test eax, eax
je 0x4b394b
mov esi, 0x2c
mov word [eax], si
mov esi, dword [edx + ecx*4]
push ecx
mov ecx, esi
call fcn.0040d4f0
mov eax, dword [esi + 4]
mov byte [esi + 8], 1
mov eax, dword [eax]
jmp 0x4b39b6
mov ecx, dword [ebp - 0x14]
call fcn.0042a740
cmp dword [edi + 8], 6
mov esi, dword [ebp - 0x14]
movsd qword [edi], xmm0
jne 0x4b39bb
cvtsd2ss xmm0, xmm0
movss dword [edi], xmm0
jmp 0x4b39bb
cmp byte [edi + 0xd], 0
je 0x4b39a1
cmp eax, 5
jne 0x4b39a1
mov ecx, dword [ebp - 0x14]
call fcn.004051f0
or eax, edx
jne 0x4b39a1
mov ecx, dword [ebp - 0x14]
call fcn.0044f7c0
jmp 0x4b39a9
mov ecx, dword [ebp - 0x14]
call fcn.004051f0
mov ecx, edi
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [edi + 8], 5
je 0x4b39b8
mov dword [edi], eax
mov esi, dword [ebp - 0x14]
push 0x2c
push esi
call dword [ebp - 0x30]
mov esi, eax
add esp, 8
test esi, esi
je 0x4b39d2
xor eax, eax
mov word [esi], ax
add esi, 2
mov eax, dword [ebp - 0x38]
add edi, 0x10
mov edx, dword [ebp - 0x40]
add eax, 2
mov ecx, dword [ebp - 0x2c]
inc edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x38], eax
cmp eax, ecx
jl 0x4b3880
mov eax, dword [ebp - 0x14]
jmp 0x4b39f8
mov eax, dword [ebp - 0x44]
cmp byte [ebp - 0x1d], 0
je 0x4b3a07
test ecx, ecx
je 0x4b3a07
xor ecx, ecx
mov word [eax], cx
mov ecx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x34]
mov dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x20], eax
mov eax, dword [ebp - 0x28]
mov dword [ecx + 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp - 0x24]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x3c]
mov dword [ecx + 0x34], eax
mov eax, 3
mov dword [ecx + 0x10], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov eax, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
push ecx
push str.Parameter_2_required
mov ecx, 0x4fcc10
call fcn.0044df00
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret