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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
mov eax, dword [0x49f008]
xor eax, esp
mov dword [esp + 0x98], eax
mov eax, edx
mov dword [esp + 0x14], ecx
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 8]
push ebx
mov dword [esp + 0x10], edx
xor edx, edx
mov dword [esp + 0x1c], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 4], edx
push esi
push edi
test eax, eax
je 0x41a04b
cmp byte [eax], dl
je 0x41a04b
xor esi, esi
jmp 0x41a050
mov esi, 1
test eax, eax
je 0x41a08d
mov ecx, str.:memory:
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41a080
test dl, dl
je 0x41a07c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41a080
add eax, 2
add ecx, 2
test dl, dl
jne 0x41a060
xor eax, eax
jmp 0x41a085
sbb eax, eax
or eax, 1
test eax, eax
je 0x41a0a5
mov ecx, dword [esp + 0x14]
test esi, esi
je 0x41a097
cmp byte [ecx + 0x35], 2
je 0x41a0a5
mov eax, dword [ebp + 0x14]
test al, al
js 0x41a0a8
mov ecx, dword [ebp + 0x10]
xor edi, edi
jmp 0x41a0b3
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov edi, 1
or ecx, 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x1c], edi
test eax, 0x100
je 0x41a0d7
test edi, edi
jne 0x41a0ca
test esi, esi
je 0x41a0d7
and eax, 0xfffffeff
or eax, 0x200
mov dword [ebp + 0x14], eax
push 0x2c
call fcn.00409a50
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41a14e
push 0x2c
push 0
push ebx
call fcn.00476e60
mov eax, dword [esp + 0x20]
add esp, 0xc
mov dword [ebx], eax
mov dword [ebx + 0x1c], ebx
mov dword [ebx + 0x20], 1
test esi, esi
jne 0x41a2e6
mov eax, dword [ebp + 0x14]
test edi, edi
je 0x41a11b
test al, 0x40
je 0x41a2e6
test eax, 0x20000
je 0x41a2e6
mov esi, dword [esp + 0x20]
mov esi, dword [esi + 8]
inc esi
push esi
call fcn.00409a50
mov edi, eax
mov byte [ebx + 9], 1
add esp, 4
mov dword [esp + 0x30], edi
test edi, edi
jne 0x41a168
push ebx
call fcn.00409d50
add esp, 4
mov eax, 7
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.0047540c
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x1c], 0
je 0x41a19c
mov ecx, dword [esp + 0x24]
call fcn.0040c020
inc eax
push eax
push ecx
push edi
call fcn.00478a50
add esp, 0xc
cmp dword [0x49f944], 0
jne 0x41a1e5
xor edx, edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
jmp 0x41a232
mov eax, dword [esp + 0x20]
push edi
push esi
push dword [esp + 0x2c]
mov byte [edi], 0
push eax
mov eax, dword [eax + 0x24]
call eax
mov esi, eax
add esp, 0x10
mov dword [esp + 0xc], esi
test esi, esi
je 0x41a184
push edi
call fcn.00409d50
add esp, 4
push ebx
call fcn.00409d50
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.0047540c
mov esp, ebp
pop ebp
ret
push 4
call dword [0x49f984]
add esp, 4
mov dword [esp + 0x28], eax
test eax, eax
je 0x41a202
push eax
call dword [0x49f98c]
add esp, 4
cmp dword [0x49f944], 0
jne 0x41a215
mov dword [esp + 0x2c], 0
jmp 0x41a232
push 2
call dword [0x49f984]
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je 0x41a232
push eax
call dword [0x49f98c]
add esp, 4
mov edi, dword [0x4a1ca4]
test edi, edi
je 0x41a2c0
mov esi, dword [edi]
mov eax, dword [esp + 0x30]
mov ecx, dword [esi + 0x90]
nop dword [eax]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x41a270
test dl, dl
je 0x41a26c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x41a270
add eax, 2
add ecx, 2
test dl, dl
jne 0x41a250
xor eax, eax
jmp 0x41a275
sbb eax, eax
or eax, 1
test eax, eax
jne 0x41a281
mov eax, dword [esp + 0x20]
cmp dword [esi], eax
je 0x41a28a
mov edi, dword [edi + 0x44]
test edi, edi
jne 0x41a240
jmp 0x41a2c0
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x14]
sub edx, 1
js 0x41a2ba
mov eax, dword [eax + 0x10]
mov ecx, edx
shl ecx, 4
add eax, 4
add ecx, eax
mov eax, dword [ecx]
test eax, eax
je 0x41a2b2
cmp dword [eax + 4], edi
je 0x41a369
sub ecx, 0x10
sub edx, 1
jns 0x41a2a3
mov dword [ebx + 4], edi
inc dword [edi + 0x40]
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x41a2d2
push eax
call dword [0x49f994]
add esp, 4
push dword [esp + 0x30]
call fcn.00409d50
add esp, 4
test edi, edi
jne 0x41a58a
push 0x54
call fcn.00409a50
mov edi, eax
add esp, 4
test edi, edi
je 0x41a30b
push 0x54
push 0
push edi
call fcn.00476e60
add esp, 0xc
test edi, edi
jne 0x41a3bc
mov dword [esp + 0xc], 7
mov esi, dword [esp + 0x18]
test edi, edi
je 0x41a326
mov ecx, dword [edi]
test ecx, ecx
je 0x41a326
call fcn.00414120
push edi
call fcn.00409d50
add esp, 4
push ebx
call fcn.00409d50
add esp, 4
mov dword [esi], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41a350
push eax
call dword [0x49f994]
add esp, 4
mov eax, dword [esp + 0xc]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x98]
xor ecx, esp
call fcn.0047540c
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x41a37b
push eax
call dword [0x49f994]
add esp, 4
mov eax, dword [esp + 0x28]
test eax, eax
je 0x41a38d
push eax
call dword [0x49f994]
add esp, 4
push dword [esp + 0x30]
call fcn.00409d50
add esp, 4
push ebx
call fcn.00409d50
mov ecx, dword [esp + 0xa8]
add esp, 4
mov eax, 0x13
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0047540c
mov esp, ebp
pop ebp
ret
push ecx
push dword [ebp + 0x14]
mov edx, edi
push dword [esp + 0x3c]
push ecx
push dword [esp + 0x34]
mov ecx, dword [esp + 0x34]
call fcn.004147c0
add esp, 0x14
mov dword [esp + 0xc], eax
test eax, eax
jne 0x41a313
mov esi, dword [edi]
push 0x64
push eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x40]
push eax
call fcn.00476e60
mov eax, dword [esi + 0x3c]
add esp, 0xc
mov ecx, dword [eax]
test ecx, ecx
je 0x41a426
push 0
push 0
push 0x64
lea edx, [esp + 0x44]
push edx
push eax
mov eax, dword [ecx + 8]
call eax
xor ecx, ecx
add esp, 0x14
cmp eax, 0x20a
cmove eax, ecx
mov dword [esp + 0xc], eax
jmp 0x41a428
xor eax, eax
test eax, eax
jne 0x41a313
mov eax, dword [esp + 0x34]
mov byte [edi + 0x10], al
mov eax, dword [esp + 0x14]
mov dword [edi + 4], eax
mov eax, dword [edi]
mov dword [eax + 0x98], 0x419fb0
mov dword [eax + 0x9c], edi
mov dword [ebx + 4], edi
mov eax, dword [edi]
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
cmp byte [eax + 0xd], 0
je 0x41a46e
or word [edi + 0x16], 1
movzx ecx, byte [esp + 0x49]
movzx eax, byte [esp + 0x48]
shl ecx, 8
or ecx, eax
shl ecx, 8
mov dword [edi + 0x20], ecx
cmp ecx, 0x200
jb 0x41a4cf
cmp ecx, 0x10000
ja 0x41a4cf
lea eax, [ecx - 1]
test ecx, eax
jne 0x41a4cf
mov al, byte [esp + 0x4c]
lea ecx, [esp + 0x6c]
or word [edi + 0x16], 2
mov byte [esp + 0x13], al
call fcn.0040cec0
test eax, eax
lea ecx, [esp + 0x78]
setne al
mov byte [edi + 0x11], al
call fcn.0040cec0
test eax, eax
setne al
mov byte [edi + 0x12], al
mov al, byte [esp + 0x13]
jmp 0x41a4ec
cmp dword [esp + 0x24], 0
mov dword [edi + 0x20], 0
je 0x41a4ea
cmp dword [esp + 0x1c], 0
jne 0x41a4ea
mov word [edi + 0x11], 0
xor al, al
mov ecx, dword [edi]
lea edx, [edi + 0x20]
movzx eax, al
push eax
mov dword [esp + 0x20], eax
call fcn.00413f50
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
jne 0x41a313
mov eax, dword [edi + 0x20]
sub eax, dword [esp + 0x1c]
mov dword [edi + 0x24], eax
cmp byte [ebx + 9], 0
je 0x41a608
mov ecx, 2
mov dword [edi + 0x40], 1
call fcn.00409470
cmp dword [0x49f944], 0
mov esi, eax
je 0x41a560
xor ecx, ecx
call fcn.00409470
mov dword [edi + 0x38], eax
test eax, eax
jne 0x41a560
mov eax, dword [esp + 0x14]
mov dword [esp + 0xc], 7
mov byte [eax + 0x36], 0
jmp 0x41a313
test esi, esi
je 0x41a56e
push esi
call dword [0x49f98c]
add esp, 4
mov eax, dword [0x4a1ca4]
mov dword [edi + 0x44], eax
mov dword [0x4a1ca4], edi
test esi, esi
je 0x41a58a
push esi
call dword [0x49f994]
add esp, 4
cmp byte [ebx + 9], 0
je 0x41a608
mov eax, dword [esp + 0x14]
xor edx, edx
mov esi, dword [eax + 0x14]
test esi, esi
jle 0x41a608
mov ecx, dword [eax + 0x10]
add ecx, 4
mov eax, dword [ecx]
test eax, eax
je 0x41a5af
cmp byte [eax + 9], 0
jne 0x41a5b9
inc edx
add ecx, 0x10
cmp edx, esi
jl 0x41a5a3
jmp 0x41a608
mov ecx, dword [eax + 0x18]
test ecx, ecx
je 0x41a5c9
mov eax, ecx
mov ecx, dword [eax + 0x18]
test ecx, ecx
jne 0x41a5c0
mov edx, dword [ebx + 4]
cmp edx, dword [eax + 4]
jae 0x41a5e0
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x18], 0
mov dword [eax + 0x18], ebx
jmp 0x41a608
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x41a5f5
cmp dword [ecx + 4], edx
jae 0x41a5f5
mov eax, ecx
mov ecx, dword [eax + 0x14]
test ecx, ecx
jne 0x41a5e7
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x18], eax
test ecx, ecx
je 0x41a605
mov dword [ecx + 0x18], ebx
mov dword [eax + 0x14], ebx
mov esi, dword [esp + 0x18]
mov dword [esi], ebx
cmp dword [esp + 0xc], 0
jne 0x41a317
mov esi, dword [ebx + 4]
mov ecx, ebx
call fcn.00418af0
cmp byte [ebx + 9], 0
je 0x41a647
add dword [ebx + 0xc], 0xffffffff
jne 0x41a647
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x38]
test eax, eax
je 0x41a643
push eax
call dword [0x49f994]
add esp, 4
mov byte [ebx + 0xa], 0
cmp dword [esi + 0x30], 0
jne 0x41a33e
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov eax, dword [eax + 0xb4]
mov dword [eax + 0x10], 0x7d0
mov eax, dword [eax + 0x28]
test eax, eax
je 0x41a33e
push 0x7d0
push eax
call dword [0x49f9b4]
add esp, 8
jmp 0x41a33e