Function at 0x493ba0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4f3f22
mov eax, dword fs:[0]
push eax
mov eax, 0x207c
call fcn.004ebaf0
mov eax, dword [0x526b24]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2034], eax
mov eax, dword [ebp + 0xc]
push 0x60
mov dword [ebp - 0x2060], eax
call fcn.004ebb43
mov edi, eax
mov dword [ebp - 0x2038], eax
add esp, 4
mov dword [ebp - 0x14], edi
test edi, edi
je 0x492a4e
mov dword [edi + 4], 1
xorps xmm0, xmm0
mov dword [edi + 0xc], 0
mov dword [edi + 0x10], 0x52763c
mov byte [edi + 0x28], 0
mov dword [edi + 8], 0
mov dword [edi + 0x20], 3
mov dword [edi], vtable.DynaToken.0
mov dword [edi + 0x30], 0
mov dword [edi + 0x34], 0
mov dword [edi + 0x3c], 0
mov dword [edi + 0x40], 0
movups xmmword [edi + 0x48], xmm0
jmp 0x492a56
xor edi, edi
mov dword [ebp - 0x2038], edi
mov esi, dword [0x62271c]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x492a7b
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
mov esi, dword [eax + 0x2130]
test esi, esi
je 0x492a8e
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x492a9b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0xc], esi
lea eax, [ebp - 0x2018]
mov dword [ebp - 0x204c], eax
lea eax, [ebp - 0x2080]
mov dword [ebp - 0x203c], eax
mov eax, dword [ebp - 0x2060]
mov dword [ebp - 0x2054], 0
mov dword [ebp - 0x205c], 0x4f5b70
mov dword [ebp - 0x2058], 0xffffffff
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2040], 1
test eax, eax
je 0x493ab6
mov dword [edi + 0x34], 0x20
mov dword [edi + 0x50], 2
cmp eax, 1
jle 0x493138
mov eax, dword [ebp - 0x2034]
mov esi, dword [eax + 4]
mov eax, dword [esi + 8]
cmp eax, 1
je 0x4930f4
cmp eax, 2
je 0x4930f4
cmp eax, 5
je 0x492b62
cmp eax, 4
jne 0x492b40
mov ecx, dword [esi]
call fcn.00497fc0
test al, al
jne 0x492b62
mov eax, dword [ebp - 0x2034]
mov esi, dword [esi]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 4]
mov dword [ebp - 0x2070], esi
mov dword [ebp - 0x206c], eax
mov ecx, dword [ecx + 8]
jmp 0x492be2
mov dword [ebp - 0x2078], 1
mov dword [ebp - 0x2080], 1
mov dword [ebp - 0x207c], 0
cmp dword [esi + 8], 5
mov ecx, dword [esi]
je 0x492b8f
call fcn.00465620
mov ecx, eax
mov eax, dword [ecx]
lea edx, [ebp - 0x203c]
push 1
push edx
push esi
push 0
push 0
lea edx, [ebp - 0x205c]
push edx
call dword [eax + 0x1c]
mov ecx, dword [ebp - 0x2054]
cmp ecx, 1
je 0x4930f4
cmp ecx, 2
je 0x4930f4
cmp ecx, 5
je 0x4930f4
mov esi, dword [ebp - 0x205c]
mov eax, dword [ebp - 0x2058]
mov dword [ebp - 0x2070], esi
mov dword [ebp - 0x206c], eax
mov dword [ebp - 0x2068], ecx
test ecx, ecx
je 0x492c35
cmp ecx, 4
je 0x492bf8
mov esi, 0x4f5b70
jmp 0x492c35
mov al, byte [esi + 0x17]
test al, al
jne 0x492c0d
mov ecx, dword [esi + 0xc]
push 1
call fcn.00422310
mov esi, eax
jmp 0x492c35
test byte [esi + 0x15], 1
je 0x492c1d
mov ecx, esi
call fcn.00422b10
mov al, byte [esi + 0x17]
cmp al, 3
jne 0x492c32
cmp byte [esi + 0x15], 0
jl 0x492c32
mov ecx, esi
call fcn.004e7e30
and byte [esi + 0x15], 0x7f
mov esi, dword [esi + 8]
cmp word [esi], 0
mov dword [ebp - 0x2024], 0
je 0x492d58
mov eax, esi
mov dword [ebp - 0x201c], esi
push 0x3d
push eax
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
jne 0x492d37
mov edx, dword [ebp - 0x201c]
movzx eax, word [edx]
mov ecx, eax
mov dword [ebp - 0x2028], ecx
test eax, 0xffffff80
je 0x492c88
mov dword [ebp - 0x2020], 0
jmp 0x492ca4
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
mov edx, dword [ebp - 0x201c]
add esp, 4
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2028]
and ecx, 0xffdf
cmp dword [ebp - 0x2020], 0
movzx ecx, cx
movzx eax, ax
cmove ecx, eax
cmp cx, 0x55
je 0x492d37
movzx eax, word [edx]
mov ecx, eax
mov dword [ebp - 0x2028], ecx
test eax, 0xffffff80
je 0x492ce4
mov dword [ebp - 0x2020], 0
jmp 0x492d00
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_islower]
mov edx, dword [ebp - 0x201c]
add esp, 4
mov ecx, dword [ebp - 0x2028]
mov dword [ebp - 0x2020], eax
mov eax, dword [ebp - 0x2028]
and ecx, 0xffdf
cmp dword [ebp - 0x2020], 0
movzx ecx, cx
movzx eax, ax
cmove ecx, eax
cmp cx, 0x50
je 0x492d37
movzx eax, word [edx]
cmp eax, 0x2a
je 0x492d37
cmp eax, 0x20
je 0x492d37
cmp eax, 9
je 0x492d37
inc dword [edi + 0x30]
mov eax, dword [ebp - 0x2024]
inc eax
cmp word [esi + eax*2], 0
mov dword [ebp - 0x2024], eax
lea eax, [esi + eax*2]
mov dword [ebp - 0x201c], eax
jne 0x492c51
mov eax, dword [edi + 0x30]
shl eax, 4
call fcn.004ec520
mov eax, esp
push eax
push esi
mov dword [ebp - 0x2028], eax
call fcn.00491ce0
add esp, 8
cmp dword [edi + 0x30], eax
jne 0x4930f4
push 0x3d
push esi
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x493141
push 0x3d
push esi
call sub.VCRUNTIME140.dll_wcschr
add eax, 2
push 0x3d
push eax
call sub.VCRUNTIME140.dll_wcschr
add esp, 0x10
test eax, eax
je 0x492db2
mov dword [edi + 0x34], 0x10
lea eax, [esi + 2]
mov dword [edi + 0x50], 2
push 0x3d
push eax
mov dword [ebp - 0x201c], 0
mov dword [ebp - 0x2020], 0
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
je 0x492e28
mov edi, esi
movzx eax, word [edi]
cmp eax, 0x20
je 0x492e00
cmp eax, 9
je 0x492e00
mov ecx, dword [ebp - 0x201c]
mov word [ebp + ecx*2 - 0x18], ax
inc ecx
mov dword [ebp - 0x201c], ecx
mov eax, dword [ebp - 0x2020]
inc eax
mov dword [ebp - 0x2020], eax
push 0x3d
lea edi, [esi + eax*2]
lea eax, [edi + 2]
push eax
call sub.VCRUNTIME140.dll_wcschr
add esp, 8
test eax, eax
jne 0x492de1
mov edi, dword [ebp - 0x2038]
mov eax, dword [ebp - 0x201c]
add eax, eax
cmp eax, 8
jae 0x493ad9
xor ecx, ecx
mov word [ebp + eax - 0x18], cx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x201c], eax
mov ax, word [ebp - 0x18]
test ax, ax
je 0x492ea0
movzx esi, ax
nop word [eax + eax]
mov ecx, 0x503f10
mov edx, 0x75
nop word [eax + eax]
cmp si, dx
je 0x492f35
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x492e70
mov eax, dword [ebp - 0x201c]
add eax, 2
mov dword [ebp - 0x201c], eax
movzx eax, word [eax]
mov esi, eax
test ax, ax
jne 0x492e60
xor al, al
mov byte [edi + 0x55], al
lea eax, [ebp - 0x16]
mov dword [ebp - 0x201c], eax
mov ax, word [ebp - 0x16]
test ax, ax
je 0x492f00
movzx esi, ax
nop word [eax + eax]
mov ecx, 0x503dc8
mov edx, 0x2a
nop word [eax + eax]
cmp si, dx
je 0x492f5d
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x492ed0
mov eax, dword [ebp - 0x201c]
add eax, 2
mov dword [ebp - 0x201c], eax
movzx eax, word [eax]
mov esi, eax
test ax, ax
jne 0x492ec0
xor eax, eax
test eax, eax
push 1
setne al
mov byte [edi + 0x54], al
lea eax, [ebp - 0x18]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsnicmp]
push str.ITHC6FW
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x492f65
mov dword [edi + 0x50], 2
mov eax, 2
jmp 0x493093
mov eax, dword [ebp - 0x201c]
test eax, eax
je 0x492ea0
push 4
lea eax, [ebp - 0x16]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
add esp, 0xc
mov al, 1
jmp 0x492ea2
mov eax, dword [ebp - 0x201c]
jmp 0x492f02
push 1
lea eax, [ebp - 0x18]
push str.SMDB
push eax
call esi
add esp, 0xc
test eax, eax
je 0x49308b
push 1
lea eax, [ebp - 0x18]
push 0x503e44
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x492fa2
mov dword [edi + 0x50], 2
mov eax, 2
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x503e48
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x492fc7
mov dword [edi + 0x50], 3
mov eax, 3
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x503e4c
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x492fec
mov dword [edi + 0x50], 4
mov eax, 4
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x503e50
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x493011
mov dword [edi + 0x50], 5
mov eax, 5
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x503e54
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x493033
mov dword [edi + 0x50], 6
mov eax, 6
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x4f5c5c
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x493055
mov dword [edi + 0x50], 7
mov eax, 7
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x501794
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x493077
mov dword [edi + 0x50], 1
mov eax, 1
jmp 0x493093
push 1
lea eax, [ebp - 0x18]
push 0x503e58
push eax
call esi
add esp, 0xc
test eax, eax
jne 0x4930c3
mov eax, 8
mov dword [edi + 0x50], eax
cmp byte [edi + 0x54], 0
jne 0x493141
cmp eax, 7
jne 0x4930ae
or dword [edi + 0x34], 0x200
jmp 0x493141
cmp eax, 6
jne 0x493141
or dword [edi + 0x34], 0x100
jmp 0x493141
mov ecx, dword fs:[0x2c]
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x4930e8
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
push str.DynaCall
push str.Invalid_return_type.
jmp 0x493123
mov esi, dword [0x62271c]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x493119
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
push str.DynaCall
push str.Invalid_arg_type.
mov ecx, dword [ecx + esi*4]
mov ecx, dword [ecx + 0x298]
call fcn.0046cf30
xor eax, eax
jmp 0x493ab8
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x2028], eax
mov esi, dword [ebp - 0x2034]
mov ecx, dword [esi]
mov eax, dword [ecx + 8]
sub eax, 1
je 0x493193
sub eax, 3
je 0x493177
lea eax, [ebp - 0x14]
push eax
push ecx
call fcn.004a2930
add esp, 8
test eax, eax
je 0x493173
push dword [esi]
call fcn.004a2d80
add esp, 4
jmp 0x493195
xor eax, eax
jmp 0x493195
mov ecx, dword [ecx]
call fcn.0049a3d0
cmp eax, 1
jne 0x49318e
mov ecx, dword [esi]
mov ecx, dword [ecx]
call fcn.0042af50
jmp 0x493195
mov eax, dword [edi + 0x3c]
jmp 0x493198
mov eax, dword [ecx]
mov dword [edi + 0x3c], eax
test eax, eax
jne 0x493203
mov eax, dword [esi]
mov ecx, dword [eax + 8]
cmp ecx, 4
ja case.0x4931a6.1
jmp dword [ecx*4 + 0x493ae0]
mov esi, dword [eax]
mov al, byte [esi + 0x17]
test al, al
jne 0x4931c2
mov ecx, dword [esi + 0xc]
push 1
call fcn.00422310
jmp 0x4931f5
test byte [esi + 0x15], 1
je 0x4931d2
mov ecx, esi
call fcn.00422b10
mov al, byte [esi + 0x17]
cmp al, 3
jne 0x4931e7
cmp byte [esi + 0x15], 0
jl 0x4931e7
mov ecx, esi
call fcn.004e7e30
and byte [esi + 0x15], 0x7f
mov eax, dword [esi + 8]
jmp 0x4931f5
mov eax, dword [eax]
jmp 0x4931f5
mov eax, 0x4f5b70
push 0
push eax
call fcn.00497180
add esp, 8
mov dword [edi + 0x3c], eax
cmp dword [edi + 0x3c], 0
jne 0x49323d
mov ecx, dword fs:[0x2c]
mov esi, dword [0x62271c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x49322e
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
push 0x4f5b70
push str.Call_to_nonexistent_function.
jmp 0x493123
mov eax, dword [edi + 0x30]
mov esi, dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
shl eax, 4
push eax
mov dword [ebp - 0x14], esi
call esi
mov dword [edi + 0x40], eax
mov eax, dword [edi + 0x30]
shl eax, 4
push eax
call esi
mov esi, dword [edi + 0x30]
shl esi, 2
push esi
mov dword [edi + 0x44], eax
call dword [ebp - 0x14]
add esp, 0xc
mov dword [edi + 0x58], eax
test esi, esi
je 0x49327e
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [edi + 0x30]
xor ecx, ecx
mov dword [ebp - 0x2020], ecx
test eax, eax
jle 0x4937bc
mov edx, dword [ebp - 0x2060]
xorps xmm0, xmm0
add edx, 0xfffffffe
movsd qword [ebp - 0x2088], xmm0
mov dword [ebp - 0x201c], edx
xor eax, eax
mov esi, 2
cmp edx, ecx
mov edx, dword [ebp - 0x2034]
cmovg eax, esi
add eax, ecx
mov esi, dword [edx + eax*4]
mov eax, ecx
mov edx, dword [ebp - 0x2028]
shl eax, 4
add edx, eax
mov dword [ebp - 0x2024], edx
cmp dword [ebp - 0x201c], ecx
jle 0x493357
mov eax, dword [esi + 8]
cmp eax, 5
jne 0x4932e9
mov eax, esi
jmp 0x493312
cmp eax, 4
jne 0x493357
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x49330c
mov ecx, dword [eax + 0xc]
call fcn.00422af0
movsd xmm0, qword [ebp - 0x2088]
mov edx, dword [ebp - 0x2024]
test byte [eax + 0x15], 0x40
je 0x493357
mov ecx, dword [eax]
test ecx, ecx
je 0x493357
mov eax, dword [edx + 8]
cmp eax, 1
je 0x49332a
cmp eax, 8
je 0x49332a
cmp eax, 2
jne 0x493357
push edx
push ecx
lea eax, [ebp - 0x205c]
push eax
call fcn.00496de0
mov eax, dword [ebp - 0x2040]
add esp, 0xc
test eax, eax
je 0x493131
cmp eax, 8
je 0x493131
jmp 0x493751
mov eax, dword [edx + 8]
lea ecx, [eax - 1]
cmp ecx, 7
ja case.0x493366.2
jmp dword [ecx*4 + 0x493af4]
mov eax, dword [ebp - 0x201c]
cmp eax, dword [ebp - 0x2020]
jle 0x493459
mov eax, dword [esi + 8]
cmp eax, 1
je 0x493431
cmp eax, 2
je 0x493778
cmp eax, 4
jne 0x4933c6
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x4933a4
mov eax, dword [eax + 0xc]
test byte [eax + 0x15], 0x10
je 0x4933d3
mov dword [edx + 8], 2
mov ecx, dword [esi]
call fcn.0042af50
mov ecx, dword [ebp - 0x2024]
mov dword [ecx + 4], edx
jmp 0x49374f
ja 0x493459
jmp dword [eax*4 + 0x493b14]
mov esi, dword [esi]
mov al, byte [esi + 0x17]
test al, al
jne 0x4933f3
mov ecx, dword [esi + 0xc]
push 1
call fcn.00422310
mov edx, dword [ebp - 0x2024]
mov dword [edx], eax
jmp 0x493751
test byte [esi + 0x15], 1
je 0x493403
mov ecx, esi
call fcn.00422b10
mov al, byte [esi + 0x17]
cmp al, 3
jne 0x493418
cmp byte [esi + 0x15], 0
jl 0x493418
mov ecx, esi
call fcn.004e7e30
and byte [esi + 0x15], 0x7f
mov edx, dword [ebp - 0x2024]
mov eax, dword [esi + 8]
mov dword [edx], eax
jmp 0x493751
mov dword [edx + 8], 2
mov eax, dword [esi + 8]
cmp eax, 4
ja case.0x4934d9.3
jmp dword [eax*4 + 0x493b28]
movsd xmm0, qword [esi]
call fcn.004ec2d0
jmp 0x49373e
mov eax, 0x4f5b70
mov dword [edx], eax
jmp 0x493751
mov eax, dword [ebp - 0x201c]
cmp eax, dword [ebp - 0x2020]
jle 0x493484
mov eax, dword [esi + 8]
cmp eax, 1
je 0x4934ca
cmp eax, 2
je 0x493778
push 0xc
call fcn.004ebb43
mov ecx, eax
add esp, 4
mov dword [ebp - 0x2038], ecx
mov dword [ebp - 4], 0
test ecx, ecx
je 0x49357d
mov eax, dword [ebp - 0x201c]
cmp eax, dword [ebp - 0x2020]
jle case.0x4934c3.1
mov eax, dword [esi + 8]
cmp eax, 4
ja case.0x4934c3.1
jmp dword [eax*4 + 0x493b3c]
mov dword [edx + 8], 2
mov eax, dword [esi + 8]
cmp eax, 4
ja case.0x4934d9.3
jmp dword [eax*4 + 0x493b50]
xorps xmm0, xmm0
movlpd qword [ebp - 0x2030], xmm0
mov edx, dword [ebp - 0x202c]
mov eax, dword [ebp - 0x2030]
jmp 0x49373e
mov esi, dword [esi]
mov al, byte [esi + 0x17]
test al, al
jne 0x493517
mov ecx, dword [esi + 0xc]
push 1
call fcn.00422310
mov ecx, dword [ebp - 0x2038]
jmp 0x493550
test byte [esi + 0x15], 1
je 0x493527
mov ecx, esi
call fcn.00422b10
mov al, byte [esi + 0x17]
cmp al, 3
jne 0x49353c
cmp byte [esi + 0x15], 0
jl 0x49353c
mov ecx, esi
call fcn.004e7e30
and byte [esi + 0x15], 0x7f
mov eax, dword [esi + 8]
mov ecx, dword [ebp - 0x2038]
jmp 0x493550
mov eax, dword [esi]
jmp 0x493550
mov eax, 0x4f5b70
mov dword [ecx + 4], 0
mov byte [ecx + 8], 0
push 0
push 0x3f
push 0xffffffffffffffff
push ecx
push eax
mov byte [ebp - 4], 1
mov dword [ecx], vtable.CStringCharFromWChar.0
call fcn.004dffb0
mov ecx, dword [ebp - 0x2038]
add esp, 0x14
jmp 0x49357f
xor ecx, ecx
mov edx, dword [ebp - 0x2020]
mov eax, dword [edi + 0x58]
mov dword [ebp - 4], 0xffffffff
mov dword [eax + edx*4], ecx
mov ecx, dword [edi + 0x58]
mov ecx, dword [ecx + edx*4]
call fcn.00496c30
mov ecx, dword [ebp - 0x2024]
jmp 0x49374f
mov ecx, dword [ebp - 0x201c]
cmp ecx, dword [ebp - 0x2020]
jle 0x493601
mov eax, dword [esi + 8]
cmp eax, 4
ja case.0x4935be.3
jmp dword [eax*4 + 0x493b64]
movsd xmm0, qword [esi]
jmp case.0x4935be.3
mov edx, dword [esi + 4]
mov ecx, dword [esi]
call fcn.004ec3e0
jmp 0x4935f8
mov ecx, dword [esi]
call fcn.004a27c0
jmp 0x4935ea
push dword [esi]
call fcn.00450ff0
add esp, 4
fstp qword [ebp - 0x2030]
movsd xmm0, qword [ebp - 0x2030]
mov edx, dword [ebp - 0x2024]
mov eax, dword [edx + 8]
movsd qword [edx], xmm0
cmp eax, 6
jne 0x493751
cvtsd2ss xmm0, xmm0
movss dword [edx], xmm0
jmp 0x493751
cmp byte [edx + 0xd], 0
je 0x4936ee
cmp eax, 5
jne 0x4936ee
mov eax, dword [ebp - 0x201c]
cmp eax, dword [ebp - 0x2020]
jle 0x4936d5
mov eax, dword [esi + 8]
cmp eax, 1
je 0x4936fc
cmp eax, 2
je 0x4936fc
cmp eax, 4
ja case.0x49365a.1
jmp dword [eax*4 + 0x493b78]
mov esi, dword [esi]
mov al, byte [esi + 0x17]
test al, al
jne 0x493682
mov ecx, dword [esi + 0xc]
push 1
call fcn.00422310
push eax
call fcn.004e6170
add esp, 4
jmp 0x49373e
test byte [esi + 0x15], 1
je 0x493692
mov ecx, esi
call fcn.00422b10
mov al, byte [esi + 0x17]
cmp al, 3
jne 0x4936a7
cmp byte [esi + 0x15], 0
jl 0x4936a7
mov ecx, esi
call fcn.004e7e30
and byte [esi + 0x15], 0x7f
mov eax, dword [esi + 8]
push eax
call fcn.004e6170
add esp, 4
jmp 0x49373e
mov eax, dword [esi]
push eax
call fcn.004e6170
add esp, 4
jmp 0x49373e
mov eax, 0x4f5b70
push eax
call fcn.004e6170
add esp, 4
jmp 0x49373e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2030], xmm0
mov edx, dword [ebp - 0x202c]
mov eax, dword [ebp - 0x2030]
jmp 0x49373e
mov eax, dword [ebp - 0x201c]
cmp eax, dword [ebp - 0x2020]
jle case.0x493704.3
mov eax, dword [esi + 8]
cmp eax, 4
ja case.0x493704.3
jmp dword [eax*4 + 0x493b8c]
mov eax, dword [esi]
mov edx, dword [esi + 4]
jmp 0x49373e
mov ecx, dword [esi]
call fcn.0042af50
jmp 0x49373e
push dword [esi]
call fcn.004e6170
add esp, 4
jmp 0x49373e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2030], xmm0
mov eax, dword [ebp - 0x2030]
mov edx, dword [ebp - 0x202c]
mov ecx, dword [ebp - 0x2024]
mov dword [ecx], eax
mov dword [ecx + 4], edx
cmp dword [ecx + 8], 5
je 0x493751
mov dword [ecx], eax
mov ecx, dword [ebp - 0x2020]
mov eax, dword [edi + 0x30]
inc ecx
mov dword [ebp - 0x2020], ecx
cmp ecx, eax
jge 0x4937bc
movsd xmm0, qword [ebp - 0x2088]
mov edx, dword [ebp - 0x201c]
jmp 0x4932ab
mov esi, dword [0x62271c]
mov ecx, dword fs:[0x2c]
mov eax, dword [ecx + esi*4]
cmp byte [eax + 0x2198], 0
jne 0x49379d
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + esi*4]
push str.DynaCall
push str.Invalid_arg_type.
mov ecx, dword [ecx + 0x298]
call fcn.0046e5e0
xor eax, eax
jmp 0x493ab8
lea eax, [eax*4 + 4]
push eax
call dword [ebp - 0x14]
add esp, 4
mov dword [edi + 0x38], eax
cmp dword [ebp - 0x2060], 1
jle 0x493a7b
mov eax, dword [ebp - 0x2034]
mov esi, dword [eax + 4]
mov eax, dword [esi + 8]
cmp eax, 5
je 0x493822
cmp eax, 4
jne 0x493a7b
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x493804
mov ecx, dword [eax + 0xc]
call fcn.00422af0
test byte [eax + 0x15], 0x40
je 0x493a7b
mov eax, dword [esi]
cmp byte [eax + 0x17], 0
jne 0x49381e
mov ecx, dword [eax + 0xc]
call fcn.00422af0
mov esi, dword [eax]
jmp 0x493824
mov esi, dword [esi]
push 0
push 0
lea ecx, [ebp - 0x2070]
mov dword [ebp - 0x2068], 5
push ecx
push str.length
mov dword [ebp - 0x2070], esi
lea ecx, [ebp - 0x205c]
mov dword [ebp - 0x2054], 0
mov dword [ebp - 0x205c], 0x4f5b70
mov dword [ebp - 0x2058], 0xffffffff
mov dword [ebp - 0x204c], 0x4f5b70
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2040], 1
mov eax, dword [esi]
push 0
push ecx
mov ecx, esi
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x205c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x2078], 1
cmp eax, 2
jge 0x4938c8
mov edx, dword [edi + 0x30]
xor ecx, ecx
test edx, edx
jle 0x493a92
mov eax, dword [edi + 0x38]
mov dword [eax + ecx*4], ecx
inc ecx
mov edx, dword [edi + 0x30]
cmp ecx, edx
jl 0x4938b5
jmp 0x493a92
mov eax, dword [edi + 0x30]
lea eax, [eax*4 + 4]
test eax, eax
je 0x4938e7
push eax
push 0xff
push dword [edi + 0x38]
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
push 1
lea ecx, [ebp - 0x203c]
mov dword [ebp - 0x2080], 2
push ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x207c], 0
mov dword [ebp - 0x2054], 0
mov dword [ebp - 0x205c], 0x4f5b70
push dword [ecx + 4]
mov dword [ebp - 0x2058], 0xffffffff
lea ecx, [ebp - 0x205c]
push 0
mov dword [ebp - 0x204c], 0x4f5b70
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2040], 1
mov eax, dword [esi]
push 0
push ecx
mov ecx, esi
call dword [eax + 0x1c]
mov eax, dword [ebp - 0x2054]
cmp eax, 1
je 0x49396f
cmp eax, 2
jne 0x4930f4
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp - 0x205c]
dec ecx
mov dword [eax], ecx
mov ecx, 1
mov eax, dword [ebp - 0x14]
dec eax
mov dword [ebp - 0x201c], ecx
cmp eax, ecx
jle 0x493a38
nop dword [eax]
nop word [eax + eax]
lea eax, [ecx + 2]
mov dword [ebp - 0x2054], 0
push 1
lea ecx, [ebp - 0x203c]
cdq
push ecx
mov ecx, dword [ebp - 0x2034]
mov dword [ebp - 0x2080], eax
mov dword [ebp - 0x207c], edx
mov dword [ebp - 0x205c], 0x4f5b70
push dword [ecx + 4]
mov dword [ebp - 0x2058], 0xffffffff
lea ecx, [ebp - 0x205c]
push 0
mov dword [ebp - 0x204c], 0x4f5b70
mov dword [ebp - 0x2048], 0
mov dword [ebp - 0x2040], 1
mov eax, dword [esi]
push 0
push ecx
mov ecx, esi
call dword [eax + 0x1c]
mov edx, dword [ebp - 0x201c]
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp - 0x205c]
dec ecx
mov dword [eax + edx*4], ecx
mov ecx, edx
mov eax, dword [ebp - 0x14]
inc ecx
dec eax
mov dword [ebp - 0x201c], ecx
cmp ecx, eax
jl 0x4939a0
mov edx, dword [edi + 0x30]
cmp ecx, edx
jg 0x493a92
nop
xor esi, esi
xor ecx, ecx
test edx, edx
jle 0x493a5c
mov eax, dword [edi + 0x38]
nop dword [eax + eax]
cmp dword [eax], esi
je 0x493a78
inc ecx
add eax, 4
cmp ecx, edx
jl 0x493a50
mov ecx, dword [ebp - 0x201c]
mov eax, dword [edi + 0x38]
mov dword [eax + ecx*4], esi
inc ecx
mov edx, dword [edi + 0x30]
mov dword [ebp - 0x201c], ecx
cmp ecx, edx
jle 0x493a40
jmp 0x493a92
inc esi
jmp 0x493a42
mov edx, dword [edi + 0x30]
xor ecx, ecx
test edx, edx
jle 0x493a92
mov eax, dword [edi + 0x38]
mov dword [eax + ecx*4], ecx
inc ecx
mov edx, dword [edi + 0x30]
cmp ecx, edx
jl 0x493a84
xor esi, esi
test edx, edx
jle 0x493ab6
mov edx, dword [ebp - 0x2028]
xor eax, eax
mov ecx, dword [edi + 0x44]
lea eax, [eax + 0x10]
movups xmm0, xmmword [eax + edx - 0x10]
inc esi
movups xmmword [ecx + eax - 0x10], xmm0
cmp esi, dword [edi + 0x30]
jl 0x493aa0
mov eax, edi
lea esp, [ebp - 0x2094]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004ebadf
mov esp, ebp
pop ebp
ret
call fcn.004ebef9
nop
in al, dx
xor dword [ecx], ecx
lock xor dword [ecx], ecx
lock xor dword [ecx], ecx
lock xor dword [ecx], ecx
lodsd eax, dword [esi]
xor dword [ecx], ecx
xor al, 0x49
add byte [ebx], bl
dec ecx
add byte [ebx], bl
dec ecx
add byte [ebx], bl
dec ecx
add byte [ebx], bl
dec ecx
add byte [eax - 0x57ffb6cb], ch
xor eax, 0x336d0049
dec ecx
add byte [eax], ch
xor al, 0x49
add byte [ecx + 0x34], bl
dec ecx
add byte [ecx + 0x34], bl
dec ecx
add byte [ecx + 0x34], bl
dec ecx
add bl, dl
xor ecx, dword [ecx]
sbb esi, dword [edi]
dec ecx
add byte [ebx], cl
aaa
dec ecx
add byte [ebx + 0x34], cl
dec ecx
add al, ah
xor al, 0x49
add byte [edx], dl
aaa
dec ecx
add byte [edi + 0x35], al
dec ecx
add byte [ebx + 0x35], cl
dec ecx
add byte [ebx + 0x35], cl
dec ecx
add byte [ebx + 0x35], cl
dec ecx
add ah, bh
xor al, 0x49
add byte [ebx], bl
aaa
dec ecx
add byte [ebx], cl
aaa
dec ecx
add byte [ebx + 0x34], cl
dec ecx
add al, ah
xor al, 0x49
add byte [edx], dl
aaa
dec ecx
add al, ah
xor eax, 0x35cb0049
dec ecx
add ch, al
xor eax, 0x35fe0049
dec ecx
add bh, dl
xor eax, 0x36b80049
dec ecx
add ch, al
dec ecx
add ch, al
dec ecx
add ch, al
dec ecx
add byte [ecx + 0x36], ah
dec ecx
add byte [ebx], bl
aaa
dec ecx
add byte [ebx], cl
aaa
dec ecx
add byte [ebx + 0x34], cl
dec ecx
add byte [edi], ah
aaa
dec ecx
add byte [edx], dl
aaa
dec ecx
add byte [ecx - 0x7d], dl
push ecx
invalid
jl 0x493bc8
sbb byte [ecx], al
mov eax, dword [esp + 0x20]
mov dword [eax], 0
jge 0x493bb9
mov eax, 1
pop ecx
ret
push ebx
push ebp
push esi
push edi
push 0x48
call fcn.004ebb43
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
test esi, esi
je 0x493d5d
add al, 0x89
je 0x493bf0
adc byte [ebp - 0x777bf00a], al
add dword [eax], eax
add byte [ecx + 0x62271c], ah
mov eax, dword [0x62271c]
lea ebx, [esi + 4]
mov dword [ebx], 1
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0x52763c
mov byte [esi + 0x28], 0
add dh, al
inc esi
sub byte [eax], al
lea edi, [eax*4]
mov dword [esi + 8], 0
mov dword [esi + 0x20], 3
mov dword [esi], vtable.RegExMatchObject.0
mov dword [esi + 0x30], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov dword [esi + 0x40], 0
mov dword [esi + 0x44], 0
mov ecx, dword fs:[0x2c]
mov eax, dword [edi + ecx]
cmp byte [eax + 0x2198], 0
jne 0x493c52
call fcn.004ebad3
mov ecx, dword fs:[0x2c]
mov eax, dword [edi + ecx]
mov edi, dword [eax + 0x2158]
test edi, edi
je 0x493c65
mov eax, dword [edi]
push edi
call dword [eax + 4]
mov ecx, dword [esi + 0xc]
test ecx, ecx
je 0x493c72
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [esp + 0x2c]
mov dword [esi + 0xc], edi
test eax, eax
je 0x493c92
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsdup]
add esp, 4
mov dword [esi + 0x44], eax
test eax, eax
je 0x493da3
mov eax, dword [esp + 0x24]
mov dword [esi + 0x40], eax
lea edi, [eax*8]
push edi
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esi + 0x38], eax
test eax, eax
je 0x493da3
push edi
push dword [esp + 0x20]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
or ebx, 0xffffffff
mov edi, SysReAllocString
xor ecx, ecx
nop dword [eax]
mov eax, dword [esi + 0x38]
mov ebp, dword [eax + ecx*8]
lea edx, [eax + ecx*8]
cmp ebp, 0xffffffff
jle 0x493cf0
cmp edi, ebp
mov eax, ebp
cmovle eax, edi
mov edi, eax
mov eax, dword [edx + 4]
cmp ebx, eax
jge 0x493cf0
mov ebx, eax
sub dword [edx + 4], ebp
inc ecx
cmp ecx, dword [esp + 0x28]
jl 0x493cd0
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
lea ebx, [esi + 4]
cmp ecx, ebp
jge 0x493d2a
nop dword [eax]
mov eax, dword [esi + 0x38]
mov dword [eax + ecx*8], 0xffffffff
mov eax, dword [esi + 0x38]
mov dword [eax + ecx*8 + 4], 0
inc ecx
cmp ecx, ebp
jl 0x493d10
mov eax, dword [esp + 0x10]
cmp edi, eax
jge 0x493d80
sub eax, edi
inc eax
mov dword [esp + 0x10], eax
add eax, eax
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov ecx, eax
add esp, 4
mov dword [esi + 0x30], ecx
test ecx, ecx
jne 0x493d65
mov edx, dword [esi]
mov eax, dword [edx + 8]
cmp eax, method.Object.virtual_8
je 0x493daf
push esi
call eax
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov eax, dword [esp + 0x10]
add eax, eax
push eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + edi*2]
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi + 0x34], edi
cmp dword [esp + 0x20], 0
je 0x493e08
lea eax, [ebp*4]
push eax
call dword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
add esp, 4
mov dword [esi + 0x3c], eax
test eax, eax
jne 0x493dca
mov edx, dword [esi]
mov eax, dword [edx + 8]
cmp eax, method.Object.virtual_8
jne 0x493d5a
cmp dword [ebx], 1
jne 0x493dbf
mov eax, dword [edx + 0x30]
mov ecx, esi
call eax
test al, al
jne 0x493d5d
lock dec dword [ebx]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
pop ecx
ret
mov edi, 1
mov dword [eax], 0
cmp ebp, edi
jle 0x493e08
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsdup]
nop
mov eax, dword [esp + 0x20]
mov eax, dword [eax + edi*4]
test eax, eax
je 0x493df9
push eax
call ebx
mov ecx, dword [esi + 0x3c]
add esp, 4
mov dword [ecx + edi*4], eax
jmp 0x493e03
mov eax, dword [esi + 0x3c]
mov dword [eax + edi*4], 0
inc edi
cmp edi, ebp
jl 0x493de0
mov eax, dword [esp + 0x30]
pop edi
mov dword [eax], esi
mov eax, 1
pop esi
pop ebp
pop ebx
pop ecx
ret