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

Disassembly:
sub esp, 0x94
push ebx
push ebp
push esi
mov dword [esp + 0x28], ecx
mov esi, edx
xor ebx, ebx
push edi
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
call fcn.0041e930
mov ecx, 0x15
xor eax, eax
lea edi, [esp + 0x50]
xor ebp, ebp
rep stosd dword es:[edi], eax
call fcn.004d4520
mov ecx, dword [esi + 4]
mov dword [esp + 0x34], eax
lea eax, [esp + 0x50]
push esi
push eax
call fcn.004d6570
mov ecx, dword [esi + 4]
xor edx, edx
push 4
push ecx
lea ecx, [esp + 0x58]
call fcn.0042cea0
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x80]
cmp eax, ebx
mov edi, dword [edx + 0xc]
mov dword [esp + 0x30], edi
je 0x41e1aa
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x3a]
cmp dword [edx + 0x36], 2
jne 0x41e19d
mov eax, dword [eax + 0xc]
mov ecx, edi
push eax
call fcn.00406ea0
jmp 0x41e1a8
mov ecx, dword [eax + 0xc]
push ecx
mov ecx, edi
call fcn.00407560
mov ebp, eax
mov ecx, dword [edi + 0x57]
call fcn.004b0cc0
test ebp, ebp
je 0x41e240
mov ecx, edi
call fcn.00401a70
mov esi, eax
push 0
mov ecx, esi
mov dword [esp + 0x28], esi
call fcn.004b5f50
test byte [esi + 0x10], 2
jne 0x41e1e2
mov edx, dword [esi]
push 0xe6
mov ecx, esi
call dword [edx + 0x10]
mov ecx, dword [esi + 8]
push 0xe6
call fcn.004aca80
mov ebx, eax
test ebx, ebx
je 0x41e240
test byte [ebx + 0x10], 2
jne 0x41e208
mov eax, dword [ebx]
push 0
push 0x39
mov ecx, ebx
call dword [eax + 8]
jmp 0x41e214
mov ecx, dword [ebx + 8]
push 0
push 0x39
call fcn.004ac8f0
mov ecx, dword [eax + 8]
mov eax, dword [ebp + 0x33]
mov edx, dword [ecx]
cmp edx, eax
je 0x41e240
test byte [esi + 0x10], 2
jne 0x41e231
mov ecx, dword [ebx + 4]
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10]
mov ecx, dword [esi + 8]
push ebx
call fcn.004acb70
mov ebx, eax
test ebx, ebx
jne 0x41e1f5
xor ebp, ebp
test ebx, ebx
je 0x41e3a5
push 0x31
mov ecx, ebx
call fcn.004b6120
test eax, eax
jle 0x41e3a5
push 0x31
mov ecx, ebx
call fcn.004b6120
lea ecx, [eax*8]
sub ecx, eax
mov dword [esp + 0x1c], eax
shl ecx, 1
call fcn.004a38d0
mov dword [esp + 0x18], eax
mov al, byte [ebx + 0x10]
test al, 2
jne 0x41e28c
mov edx, dword [ebx]
push 0x31
mov ecx, ebx
call dword [edx + 0x10]
mov ecx, dword [ebx + 8]
push 0x31
call fcn.004aca80
mov dword [esp + 0x10], eax
mov al, byte [ebx + 0x10]
test al, 2
jne 0x41e2aa
mov eax, dword [ebx]
push 0x3a
mov ecx, ebx
call dword [eax + 0x10]
mov ecx, dword [ebx + 8]
push 0x3a
call fcn.004aca80
mov esi, eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x41e39d
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 8]
mov ax, word [edx]
cmp ax, 0xd
jne 0x41e2f1
mov ecx, dword [esp + 0x30]
mov word [edi], ax
mov eax, dword [esi + 8]
mov eax, dword [eax]
push eax
call fcn.00406ef0
test eax, eax
mov dword [edi + 2], eax
je 0x41e34a
jmp 0x41e346
cmp ax, 0xc
jne 0x41e312
mov word [edi], ax
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
mov ecx, dword [esp + 0x30]
push eax
call fcn.00406e20
test eax, eax
mov dword [edi + 2], eax
je 0x41e34a
jmp 0x41e346
cmp ax, 0x49
jne 0x41e31f
mov word [edi], 0x26
jmp 0x41e346
cmp ax, 0x4a
jne 0x41e32c
mov word [edi], 0x27
jmp 0x41e33e
cmp ax, 0x48
jne 0x41e339
mov word [edi], 0x18
jmp 0x41e346
mov word [edi], 0x28
mov dword [esp + 0x20], 1
inc ebp
add edi, 0xe
test byte [ebx + 0x10], 2
jne 0x41e35f
mov eax, dword [esp + 0x10]
mov edx, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
mov ecx, ebx
call dword [edx + 0x10]
mov edx, dword [esp + 0x10]
mov ecx, dword [ebx + 8]
push edx
call fcn.004acb70
mov dword [esp + 0x10], eax
mov al, byte [ebx + 0x10]
test al, 2
jne 0x41e382
mov ecx, dword [esi + 4]
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x10]
mov ecx, dword [ebx + 8]
push esi
call fcn.004acb70
mov esi, eax
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x41e2c6
test ebp, ebp
jne 0x41e3cc
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x41e3bb
mov ecx, 0xe
mov dword [esp + 0x1c], 1
call fcn.004a38d0
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x18]
mov dword [esp + 0x20], 1
mov word [edx], 0x28
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0x41e3d9
call fcn.004b5f90
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x57]
call fcn.004b0ce0
mov eax, dword [esp + 0x20]
test eax, eax
je 0x41e6d0
push 0
lea ecx, [esp + 0x44]
call fcn.004c57f0
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx]
mov ecx, dword [eax + 0x3a]
mov cx, word [ecx + 0xa]
call fcn.004d6370
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x28], ebp
je 0x41e6c7
mov eax, dword [ebx + 4]
mov dx, word [ebp]
push 4
push eax
mov ecx, dword [eax + 0xc]
push ecx
push edx
lea ecx, [esp + 0x44]
call fcn.004d4da0
test ax, ax
je 0x41e6b8
mov ecx, dword [ebx + 4]
push 0
mov ecx, dword [ecx + 0xc]
push ecx
push eax
mov edx, dword [ecx]
call dword [edx + 0x40]
mov edi, eax
mov eax, dword [ebx + 4]
push 0x3ff
push 4
push eax
mov ecx, edi
call fcn.004a90b0
mov ecx, edi
call fcn.004c7b80
mov esi, eax
test esi, esi
mov dword [esp + 0x38], esi
je 0x41e6b8
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x78]
cmp eax, 0x17
jne 0x41e6a3
mov eax, dword [ebx + 4]
mov edx, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0xc]
push eax
push 0x486
call dword [edx + 0x64]
mov ecx, eax
call fcn.004c7b80
xor ecx, ecx
mov dword [esp + 0x20], eax
cmp eax, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x3c], ecx
je 0x41e6a3
jmp 0x41e4bb
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
mov esi, 1
test ecx, ecx
jne 0x41e4df
push 0
push 0
lea ecx, [esp + 0x48]
push 0x4a2
push ecx
mov ecx, eax
call fcn.004a7530
jmp 0x41e4f3
lea edx, [esp + 0x24]
lea ecx, [esp + 0x40]
push edx
push 0xa
mov dword [esp + 0x2c], esi
call fcn.004c59b0
mov eax, dword [esp + 0x40]
cmp dword [eax], 2
je 0x41e67e
push 0
push 0
lea ecx, [esp + 0x48]
push 0x479
push ecx
mov ecx, dword [esp + 0x30]
call fcn.004a7530
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x30]
push edx
call fcn.00406ea0
mov esi, eax
xor ebp, ebp
mov eax, dword [esp + 0x1c]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x4c], esi
jle 0x41e59c
mov eax, dword [esp + 0x18]
lea edi, [eax + 2]
mov eax, dword [edi]
cmp esi, eax
je 0x41e5f4
cmp word [edi - 2], 0xc
jne 0x41e566
test eax, eax
je 0x41e566
mov eax, dword [eax + 0x33]
mov ecx, esi
push eax
call fcn.00433200
test eax, eax
jne 0x41e5f4
mov edx, dword [edi + 4]
xor ecx, ecx
test edx, edx
jle 0x41e588
mov eax, dword [edi + 8]
add eax, 2
cmp esi, dword [eax]
je 0x41e583
inc ecx
add eax, 0xe
cmp ecx, edx
jl 0x41e575
jmp 0x41e588
mov ebp, 1
mov eax, dword [esp + 0x1c]
inc ebx
add edi, 0xe
cmp ebx, eax
jl 0x41e53e
test ebp, ebp
jne 0x41e682
mov eax, dword [esp + 0x1c]
xor ebx, ebx
test eax, eax
jle 0x41e682
mov edi, dword [esp + 0x18]
mov ebp, eax
mov eax, dword [edi + 2]
cmp esi, eax
je 0x41e5f4
cmp word [edi], 0xc
jne 0x41e5d0
test eax, eax
je 0x41e5d0
mov eax, dword [eax + 0x33]
mov ecx, esi
push eax
call fcn.00433200
test eax, eax
jne 0x41e5f4
mov ax, word [edi]
cmp ax, 0x28
je 0x41e601
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x41e5e7
cmp ax, 0x27
je 0x41e601
inc ebx
add edi, 0xe
cmp ebx, ebp
jl 0x41e5b0
jmp 0x41e682
mov dword [esp + 0x10], 1
jmp 0x41e682
mov edx, dword [esp + 0x18]
lea ecx, [ebx*8]
sub ecx, ebx
mov ebx, dword [edx + ecx*2 + 6]
lea ebp, [edx + ecx*2]
lea eax, [ebx + 1]
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 1
call fcn.004a38d0
mov edi, eax
test ebx, ebx
mov dword [esp + 0x24], edi
je 0x41e656
lea ecx, [ebx*8]
mov esi, dword [ebp + 0xa]
sub ecx, ebx
shl ecx, 1
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x24]
lea ecx, [ebx*8]
sub ecx, ebx
lea eax, [edi + ecx*2]
mov word [eax], 0xd
mov dword [eax + 2], esi
mov ecx, dword [ebp + 0xa]
call fcn.004a3a20
mov dword [ebp + 0xa], edi
mov eax, dword [ebp + 6]
inc eax
mov dword [ebp + 6], eax
jmp 0x41e682
mov dword [esp + 0x3c], esi
mov ecx, dword [esp + 0x20]
call fcn.004a8c30
test eax, eax
mov dword [esp + 0x20], eax
jne 0x41e4b7
mov ebx, dword [esp + 0x14]
mov esi, dword [esp + 0x38]
mov ebp, dword [esp + 0x28]
mov ecx, esi
call fcn.004a8c30
mov esi, eax
test esi, esi
mov dword [esp + 0x38], esi
jne 0x41e475
mov ebp, dword [ebp + 2]
test ebp, ebp
mov dword [esp + 0x28], ebp
jne 0x41e41c
lea ecx, [esp + 0x40]
call fcn.004c58c0
mov eax, dword [esp + 0x1c]
test eax, eax
jle 0x41e8c1
mov edx, dword [esp + 0x18]
mov dword [esp + 0x28], eax
lea esi, [edx + 2]
mov ax, word [esi - 2]
cmp ax, 0xd
jne 0x41e764
cmp dword [esi], 0
je 0x41e8af
mov ecx, 0x4c
call fcn.004a38d0
test eax, eax
je 0x41e71d
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
push edx
push 0
call fcn.004c7c00
mov edi, eax
jmp 0x41e71f
xor edi, edi
xor eax, eax
mov ax, word [0x560d32]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x56bdb8]
push ecx
push 0x4c7
mov ecx, edi
call fcn.004b78d0
mov edx, dword [esi]
mov eax, dword [edx + 0x37]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2f]
push edx
push 0x4c8
mov ecx, edi
call fcn.004b78d0
mov ecx, edi
mov edx, dword [esp + 0x14]
call dword [esp + 0x2c]
jmp 0x41e8af
cmp ax, 0xc
jne 0x41e7b1
cmp dword [esi], 0
je 0x41e8af
mov ecx, 0x4c
call fcn.004a38d0
test eax, eax
je 0x41e7a0
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
push edx
push 0
call fcn.004c7c00
mov edi, eax
mov eax, dword [0x560d24]
and eax, 0xffff
jmp 0x41e727
mov eax, dword [0x560d24]
xor edi, edi
and eax, 0xffff
jmp 0x41e727
cmp ax, 0x26
jne 0x41e7e8
mov ecx, 0x4c
call fcn.004a38d0
test eax, eax
je 0x41e7df
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
push edx
push 0
call fcn.004c7c00
mov edi, eax
mov eax, dword [str.Related_Items]
jmp 0x41e818
mov eax, dword [str.Related_Items]
xor edi, edi
jmp 0x41e818
cmp ax, 0x18
jne 0x41e82f
mov ecx, 0x4c
call fcn.004a38d0
test eax, eax
je 0x41e811
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
push edx
push 0
call fcn.004c7c00
mov edi, eax
jmp 0x41e813
xor edi, edi
mov eax, dword [0x56031c]
push eax
push 0x4c7
mov ecx, edi
call fcn.004b78d0
push 0x555448
jmp 0x41e749
mov eax, dword [esi + 4]
xor ebx, ebx
test eax, eax
jle 0x41e8af
xor ebp, ebp
mov ecx, 0x4c
call fcn.004a38d0
test eax, eax
je 0x41e85d
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 4]
mov ecx, eax
push edx
push 0
call fcn.004c7c00
mov edi, eax
jmp 0x41e85f
xor edi, edi
xor eax, eax
mov ax, word [0x560d32]
lea eax, [eax + eax*2]
mov ecx, dword [eax*4 + 0x56bdb8]
push ecx
push 0x4c7
mov ecx, edi
call fcn.004b78d0
mov edx, dword [esi + 8]
mov eax, dword [edx + ebp + 2]
mov ecx, dword [eax + 0x37]
mov edx, dword [ecx]
mov ecx, edi
mov eax, dword [edx + 0x2f]
push eax
push 0x4c8
call fcn.004b78d0
mov ecx, edi
mov edx, dword [esp + 0x14]
call dword [esp + 0x2c]
mov eax, dword [esi + 4]
inc ebx
add ebp, 0xe
cmp ebx, eax
jl 0x41e83a
mov eax, dword [esp + 0x28]
add esi, 0xe
dec eax
mov dword [esp + 0x28], eax
jne 0x41e6e7
mov edi, dword [esp + 0x1c]
test edi, edi
jle 0x41e8dd
mov ecx, dword [esp + 0x18]
lea esi, [ecx + 0xa]
mov ecx, dword [esi]
call fcn.004a3a20
add esi, 0xe
dec edi
jne 0x41e8d0
mov ecx, dword [esp + 0x18]
call fcn.004a3a20
mov ecx, dword [esp + 0x34]
call fcn.004d4570
lea ecx, [esp + 0x80]
call fcn.004a6c00
lea ecx, [esp + 0x74]
call fcn.004a6c00
lea ecx, [esp + 0x68]
call fcn.004a6c00
lea ecx, [esp + 0x5c]
call fcn.004a6c00
lea ecx, [esp + 0x54]
call fcn.004a6c00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret