Function at 0x4197d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4dc7da
mov eax, dword fs:[0]
push eax
sub esp, 0x100
mov eax, dword [0x50e018]
xor eax, esp
mov dword [esp + 0xf8], eax
push ebx
push esi
push edi
mov eax, dword [0x50e018]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
lea eax, [esp + 0x14]
mov ebx, ecx
push eax
mov dword [esp + 0x24], ebx
call fcn.0041b820
add esp, 4
xor edi, edi
lea esi, [esp + 0x24]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x118], edi
cmp esi, eax
je 0x419842
mov ecx, dword [eax + 4]
mov dword [eax + 4], edi
mov edx, dword [eax]
mov dword [eax], edi
mov esi, dword [ebx + 0x38]
mov dword [ebx + 0x38], ecx
mov dword [ebx + 0x34], edx
cmp esi, edi
je 0x419878
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x419878
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x419878
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov dword [esp + 0x118], 0xffffffff
mov esi, dword [esp + 0x18]
cmp esi, edi
je 0x4198b4
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x4198b4
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x4198b4
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x34]
push 0xffffffffffffffff
push edi
add eax, 0x188
push eax
add ecx, 0x34
call fcn.004059c0
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 0x20]
mov ecx, dword [ebx + 0x48]
mov dword [eax + 0x28], ecx
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 0x20]
mov edx, dword [ebx + 0x4c]
mov dword [eax + 0x2c], edx
mov eax, dword [ebx + 0x44]
mov eax, dword [eax + 0xc]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
mov dword [ecx + 0x20], eax
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + 0x10]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
mov dword [ecx + 0x24], edx
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + 0x18]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
mov dword [ecx + 0x38], edx
mov eax, dword [eax + 0x1c]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebx + 0x44]
mov edx, dword [eax + 0x20]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
mov dword [ecx + 0x40], edx
mov eax, dword [eax + 0x24]
mov dword [ecx + 0x44], eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
mov edx, dword [eax + 0x28]
mov dword [ecx + 0x48], edx
mov eax, dword [eax + 0x2c]
mov dword [ecx + 0x4c], eax
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
push 0xffffffffffffffff
push edi
add eax, 0x60
push eax
add ecx, 0x58
call fcn.004059c0
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
push 0xffffffffffffffff
push edi
add eax, 0x7c
push eax
add ecx, 0x90
call fcn.004059c0
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
push 0xffffffffffffffff
push edi
add eax, 0x98
push eax
add ecx, 0xe4
call fcn.004059c0
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
mov edx, dword [eax + 0x130]
mov dword [ecx + 0x34], edx
call fcn.004625c0
push 0x1f3
push 0xfffffc18
push edx
push eax
call fcn.004cbe60
push edi
add eax, 0x3e7
push 0x3e8
adc edx, edi
push edx
push eax
call fcn.004cbc80
mov ecx, dword [ebx + 0x44]
sub eax, dword [ecx + 0x138]
push edi
sbb edx, dword [ecx + 0x13c]
add eax, 0x3e7
push 0x3e8
adc edx, edi
push edx
push eax
call fcn.004cbc80
sub esp, 0x1c
mov ecx, esp
mov esi, eax
mov eax, dword [ebx + 0x34]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push edi
add eax, 0x90
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], edi
push eax
mov byte [ecx], 0
call fcn.004059c0
mov ecx, esi
lea edx, [esp + 0x108]
call fcn.0045ffa0
add esp, 0x1c
mov dword [esp + 0x118], 1
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
push eax
add ecx, 0x74
call fcn.004045b0
mov dword [esp + 0x118], 0xffffffff
cmp dword [esp + 0x100], 0x10
jb 0x419a6c
mov eax, dword [esp + 0xec]
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x38], esp
push edi
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], edi
push 0x4eb6d4
mov byte [ecx], 0
call fcn.00405360
lea esi, [esp + 0x108]
call fcn.00460290
add esp, 0x1c
mov dword [esp + 0x118], 2
mov ecx, dword [ebx + 0x34]
mov ecx, dword [ecx + 0x20]
push eax
add ecx, 0xac
call fcn.004045b0
mov dword [esp + 0x118], 0xffffffff
cmp dword [esp + 0x100], 0x10
jb 0x419adf
mov ecx, dword [esp + 0xec]
push ecx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x1c], edi
cmp eax, edi
je 0x419b65
lea esi, [esp + 0x14]
call fcn.004128c0
mov dword [esp + 0x118], 3
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0x34]
mov edx, dword [esi]
mov dword [eax + 0x30], edx
mov eax, dword [ebx + 0x34]
mov ecx, dword [esi + 8]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebx + 0x34]
lea edx, [esi + 0x18]
push edx
add eax, 0x50
call fcn.0041ade0
mov eax, dword [esi + 0x10]
mov dword [esp + 0x118], 0xffffffff
mov esi, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
cmp esi, edi
je 0x419b65
lea ecx, [esi + 4]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x419b65
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
lea eax, [esi + 8]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x419b65
mov edx, dword [esi]
mov eax, dword [edx + 4]
mov ecx, esi
call eax
mov eax, dword [ebx + 0x3c]
cmp eax, edi
je 0x419ccf
lea esi, [esp + 0x14]
call fcn.00416cc0
mov dword [esp + 0x118], 4
mov esi, dword [esp + 0x14]
sub esp, 8
mov eax, esp
mov dword [esp + 0x2c], esp
push esi
mov dword [eax], edi
mov dword [eax + 4], edi
push eax
mov eax, dword [esp + 0x28]
call fcn.004038f0
lea ecx, [esp + 0xf4]
push ecx
call fcn.0041a490
push 0xffffffffffffffff
push edi
lea edx, [esp + 0xf4]
lea ecx, [esi + 0xf8]
push edx
mov byte [esp + 0x124], 5
call fcn.004059c0
mov eax, dword [ebx + 0x34]
mov ecx, dword [esi + 0x54]
mov eax, dword [eax + 0x20]
mov dword [eax + 0x30], ecx
mov edi, dword [ebx + 0x34]
lea edi, [edi + 0x78]
lea ecx, [esp + 0x14]
call fcn.00414070
mov ecx, dword [ebx + 0x3c]
lea esi, [esp + 0x24]
call fcn.00416cf0
mov byte [esp + 0x118], 6
mov esi, dword [ebx + 0x34]
lea esi, [esi + 0x68]
mov edi, eax
call fcn.0041ad80
mov byte [esp + 0x118], 5
mov eax, dword [esp + 0x24]
test eax, eax
je 0x419c3b
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x28]
push edx
call fcn.0042ab60
mov eax, dword [esp + 0x28]
add esp, 4
push eax
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
mov ebx, dword [esp + 0x24]
add esp, 4
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0x34]
mov edx, dword [ecx + 0x44]
mov dword [eax + 0x28], edx
mov eax, dword [ebx + 0x34]
cmp dword [eax + 0x28], 0
je 0x419c58
mov ecx, dword [esp + 0x1c]
add dword [eax + 0x28], ecx
cmp dword [esp + 0x100], 0x10
jb 0x419c73
mov edx, dword [esp + 0xec]
push edx
call dword [sym.imp.MSVCR100.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov dword [esp + 0x118], 0xffffffff
mov esi, dword [esp + 0x18]
mov dword [esp + 0x100], 0xf
mov dword [esp + 0xfc], 0
mov byte [esp + 0xec], 0
test esi, esi
je 0x419ccd
lea eax, [esi + 4]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x419ccd
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
lea ecx, [esi + 8]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x419ccd
mov eax, dword [esi]
mov edx, dword [eax + 4]
mov ecx, esi
call edx
xor edi, edi
mov eax, dword [ebx + 0x34]
push eax
call fcn.00483950
mov eax, dword [ebx + 0x44]
mov ecx, dword [eax + 0x23c]
cmp dword [eax + 0x218], 1
mov edx, dword [eax + 0x214]
mov ebx, dword [ebx + 0x34]
push ecx
push edx
sete cl
movzx edx, cl
mov ecx, dword [eax + 0x244]
push edx
mov edx, dword [eax + 0x230]
mov eax, dword [eax + 0x290]
push ecx
push edx
push eax
mov ecx, ebx
call fcn.00483c40
test al, al
je 0x419d8b
lea ecx, [esp + 0x34]
push ecx
call fcn.00404920
mov dword [esp + 0x118], 7
mov edx, dword [esp + 0x34]
mov ecx, dword [edx + 4]
push edi
push edi
lea ecx, [esp + ecx + 0x3c]
call dword [sym.imp.MSVCP100.dll_public:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::clear_int__bool_]
mov dword [esp + 0xe4], edi
mov word [esp + 0xdc], 0
mov dword [esp + 0xe0], edi
lea eax, [esp + 0x44]
push 0x4eaad0
push eax
mov dword [esp + 0x120], 8
call fcn.00405c70
add esp, 8
lea ecx, [esp + 0x34]
mov dword [esp + 0x118], 0xffffffff
call fcn.00458570
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xf8]
xor ecx, esp
call fcn.004a665a
mov esp, ebp
pop ebp
ret