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

Disassembly:
sub esp, 0x18c
push ebx
mov bl, byte [esp + 0x198]
push ebp
push esi
mov si, word [esp + 0x19c]
mov ebp, ecx
test si, si
push edi
mov dword [esp + 0x14], ebp
je 0x41e3da
mov ecx, dword [ebp + 0x9b0]
xor eax, eax
test bl, bl
je 0x41e3be
test ecx, ecx
jle 0x41e393
cmp word [ebp + eax*4 + 0x8b0], si
je 0x41e3b3
inc eax
cmp eax, ecx
jl 0x41e384
mov word [ebp + ecx*4 + 0x8b0], si
mov eax, dword [ebp + 0x9b0]
inc eax
mov dword [ebp + 0x9b0], eax
lea eax, [ebp + eax*4 + 0x8ae]
mov byte [eax], bl
jmp 0x41e3da
lea eax, [ebp + eax*4 + 0x8b2]
mov byte [eax], bl
jmp 0x41e3da
test ecx, ecx
jle 0x41e3da
cmp word [ebp + eax*4 + 0x8b0], si
je 0x41e3d3
inc eax
cmp eax, ecx
jl 0x41e3c2
jmp 0x41e3da
mov bl, byte [ebp + eax*4 + 0x8b2]
mov ecx, 0xe
xor eax, eax
lea edi, [esp + 0x28]
mov dword [esp + 0x10], 3
rep stosd dword es:[edi], eax
mov ecx, 0x28
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
or ecx, 0xffffffff
mov eax, 0x7fffffff
mov dword [esp + 0x98], ecx
mov dword [esp + 0x78], ecx
mov ecx, ebp
mov dword [esp + 0x9c], eax
mov dword [esp + 0x7c], eax
mov word [esp + 0x64], si
mov byte [esp + 0x66], bl
call fcn.004174d0
cmp bl, 0xe0
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
jb 0x41e6b2
cmp bl, 0xf0
jae 0x41e6b2
mov edi, dword [ebp + 0x1c10]
xor edx, edx
test edi, edi
jle 0x41e4bc
lea esi, [ebp + 0x124c]
cmp word [esp + 0x64], 0
je 0x41e467
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41e47f
mov eax, dword [esp + 0x66]
mov ecx, dword [esp + 0x67]
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [esi]
xor ebx, ebx
cmp cx, bx
je 0x41e491
and ecx, 0xffff
jmp 0x41e499
xor ecx, ecx
mov ch, byte [esi + 2]
mov cl, byte [esi + 3]
cmp eax, ecx
je 0x41e4aa
inc edx
add esi, 0xa0
cmp edx, edi
jl 0x41e454
jmp 0x41e4bc
lea eax, [edx + edx*4]
lea ecx, [ebp + 0x1210]
shl eax, 5
add eax, ecx
cmp eax, ebx
jne 0x41e4e2
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x100]
push eax
push ecx
mov ecx, ebp
call fcn.00418530
xor ebx, ebx
test al, al
je 0x41e4e2
mov dword [esp + 0x10], ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp]
push eax
push ecx
mov ecx, ebp
call dword [edx + 8]
cmp dword [esp + 0x10], 3
jne 0x41e5e9
mov edi, dword [ebp + 0x1c10]
xor esi, esi
cmp edi, ebx
mov dword [esp + 0xd2], ebx
mov dword [esp + 0xd6], ebx
mov dword [esp + 0xda], ebx
mov dword [esp + 0xde], ebx
mov dword [esp + 0xe2], ebx
mov dword [esp + 0xe6], ebx
mov dword [esp + 0xea], ebx
mov dword [esp + 0xee], ebx
mov dword [esp + 0xf2], ebx
mov dword [esp + 0xf6], ebx
jle 0x41e5c1
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x124c]
cmp word [esp + 0x64], 0
je 0x41e56e
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41e584
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41e594
and ecx, 0xffff
jmp 0x41e59c
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41e5ad
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41e55b
jmp 0x41e5bf
lea eax, [esi + esi*4]
lea ecx, [ebp + 0x1210]
shl eax, 5
add eax, ecx
test eax, eax
jne 0x41e5e7
xor ebx, ebx
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, ebp
call fcn.0041a670
test al, al
je 0x41e5e9
mov dword [esp + 0x10], ebx
jmp 0x41e5e9
xor ebx, ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp]
push eax
push ecx
mov ecx, ebp
call dword [edx + 8]
cmp dword [esp + 0x10], 3
jne 0x41f22f
mov edi, dword [ebp + 0x1c10]
xor esi, esi
cmp edi, ebx
jle 0x41e684
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x124c]
cmp word [esp + 0x64], 0
je 0x41e62f
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41e645
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41e655
and ecx, 0xffff
jmp 0x41e65d
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41e66e
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41e61c
jmp 0x41e684
lea eax, [esi + esi*4]
lea ecx, [ebp + 0x1210]
shl eax, 5
add eax, ecx
test eax, eax
jne 0x41f22f
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0x1f]
push eax
push ecx
mov ecx, ebp
call fcn.0041b1e0
test al, al
je 0x41f22f
mov dword [esp + 0x10], 0
jmp 0x41f22f
cmp bl, 0xc0
jb 0x41e824
cmp bl, 0xe0
jae 0x41e824
mov edi, dword [ebp + 0x2618]
xor edx, edx
test edi, edi
jle 0x41e73e
mov ebx, dword [esp + 0x67]
lea esi, [ebp + 0x1c54]
cmp word [esp + 0x64], 0
je 0x41e6ed
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41e703
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [esi]
test cx, cx
je 0x41e713
and ecx, 0xffff
jmp 0x41e71b
xor ecx, ecx
mov ch, byte [esi + 2]
mov cl, byte [esi + 3]
cmp eax, ecx
je 0x41e72c
inc edx
add esi, 0xa0
cmp edx, edi
jl 0x41e6da
jmp 0x41e73e
lea eax, [edx + edx*4]
lea ecx, [ebp + 0x1c18]
shl eax, 5
add eax, ecx
test eax, eax
jne 0x41e768
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
push 0
lea ecx, [esp + 0xd0]
push eax
push ecx
mov ecx, ebp
call fcn.00418c70
test al, al
je 0x41e768
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [ebp]
push eax
push ecx
mov ecx, ebp
call dword [edx + 8]
cmp dword [esp + 0x10], 3
jne 0x41f22f
mov edi, dword [ebp + 0x2618]
xor esi, esi
test edi, edi
jle 0x41e803
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x1c54]
cmp word [esp + 0x64], 0
je 0x41e7ae
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41e7c4
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41e7d4
and ecx, 0xffff
jmp 0x41e7dc
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41e7ed
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41e79b
jmp 0x41e803
lea eax, [esi + esi*4]
lea ecx, [ebp + 0x1c18]
shl eax, 5
add eax, ecx
test eax, eax
jne 0x41f22f
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, ebp
call fcn.004190d0
jmp 0x41f223
cmp si, 0x1100
jne 0x41e90b
mov edi, dword [ebp + 0x2618]
lea ebx, [ebp + 0x1c18]
xor esi, esi
test edi, edi
jle 0x41e8a8
lea edx, [ebx + 0x3c]
cmp word [esp + 0x64], 0
je 0x41e857
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41e86f
mov eax, dword [esp + 0x66]
mov ecx, dword [esp + 0x67]
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41e87f
and ecx, 0xffff
jmp 0x41e887
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41e898
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41e844
jmp 0x41e8a8
lea eax, [esi + esi*4]
shl eax, 5
add eax, ebx
test eax, eax
jne 0x41f22f
mov ecx, ebp
call fcn.004174d0
mov ebx, dword [esp + 0x1a8]
mov edi, edx
lea edx, [esp + 0x28]
mov esi, eax
push edx
lea eax, [esp + 0x24]
push ebx
push eax
mov ecx, ebp
call fcn.00419460
test al, al
je 0x41e8d8
mov dword [esp + 0x10], 1
mov ebp, dword [esp + 0x14]
push edi
push esi
mov ecx, ebp
mov edx, dword [ebp]
call dword [edx + 8]
cmp dword [esp + 0x10], 3
jne 0x41f22f
lea eax, [esp + 0x28]
lea ecx, [esp + 0xc8]
push eax
push ebx
push ecx
mov ecx, ebp
call fcn.00419700
jmp 0x41f223
cmp bl, 0xbd
je 0x41e919
cmp bl, 0xfd
jne 0x41f22f
cmp word [esp + 0x64], 0
je 0x41eb02
mov esi, dword [ebp + 0x2618]
mov ebx, dword [esp + 0x64]
lea edi, [ebp + 0x1c18]
xor edx, edx
test esi, esi
jle 0x41e97e
mov ebp, ebx
lea ecx, [edi + 0x3c]
and ebp, 0xffff
mov ax, word [ecx]
test ax, ax
je 0x41e955
and eax, 0xffff
jmp 0x41e95d
xor eax, eax
mov ah, byte [ecx + 2]
mov al, byte [ecx + 3]
cmp ebp, eax
je 0x41e96e
inc edx
add ecx, 0xa0
cmp edx, esi
jl 0x41e946
jmp 0x41e97e
lea eax, [edx + edx*4]
shl eax, 5
add eax, edi
test eax, eax
jne 0x41f22f
mov edi, dword [esp + 0x14]
xor edx, edx
mov esi, dword [edi + 0x1c10]
lea eax, [edi + 0x1210]
test esi, esi
mov dword [esp + 0x1c], eax
jle 0x41e9e3
and ebx, 0xffff
lea ecx, [eax + 0x3c]
mov ebp, ebx
mov ax, word [ecx]
test ax, ax
je 0x41e9b2
and eax, 0xffff
jmp 0x41e9ba
xor eax, eax
mov ah, byte [ecx + 2]
mov al, byte [ecx + 3]
cmp ebp, eax
je 0x41e9cb
inc edx
add ecx, 0xa0
cmp edx, esi
jl 0x41e9a3
jmp 0x41e9e3
lea eax, [edx + edx*4]
mov edx, dword [esp + 0x1c]
shl eax, 5
add eax, edx
test eax, eax
jne 0x41f22f
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x1a8]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0xcc]
push ebp
push edx
mov ecx, edi
call fcn.00419460
test al, al
je 0x41ea0e
mov esi, 1
mov dword [esp + 0x10], esi
jmp 0x41ea12
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x20]
mov eax, dword [edi]
push ecx
push ebx
mov ecx, edi
call dword [eax + 8]
cmp esi, 3
jne 0x41ea4a
lea edx, [esp + 0x28]
lea eax, [esp + 0xc8]
push edx
push ebp
push eax
mov ecx, edi
call fcn.00419700
test al, al
je 0x41ea4a
mov esi, 1
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x24]
mov edx, dword [edi]
push eax
push ebx
mov ecx, edi
call dword [edx + 8]
cmp esi, 3
jne 0x41f22f
mov edx, dword [esp + 0x1c]
xor esi, esi
mov edi, dword [edx + 0xa00]
test edi, edi
jle 0x41eadf
mov ebp, dword [esp + 0x67]
mov ebx, dword [esp + 0x66]
add edx, 0x3c
cmp word [esp + 0x64], 0
je 0x41ea8e
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41eaa2
mov eax, ebx
mov ecx, ebp
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41eab2
and ecx, 0xffff
jmp 0x41eaba
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41eacb
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41ea7b
jmp 0x41eadf
mov edx, dword [esp + 0x1c]
lea eax, [esi + esi*4]
shl eax, 5
add eax, edx
test eax, eax
jne 0x41f22f
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0041adf0
jmp 0x41e69d
push 1
push 8
mov ecx, ebp
call fcn.00417870
push 1
push 0x10
mov ecx, ebp
mov bl, al
call fcn.00417870
push 1
push 0x20
mov ecx, ebp
mov esi, eax
call fcn.00417870
cmp bl, 0x80
jb 0x41eb31
cmp bl, 0x88
jb 0x41eb3c
cmp si, 0xb77
jne 0x41ebdd
cmp bl, 0x80
jb 0x41eb5e
cmp bl, 0x88
jae 0x41eb5e
push 0
push 0x20
mov ecx, ebp
call fcn.00417870
shrd eax, edx, 0x18
shr edx, 0x18
mov byte [esp + 0x67], al
jmp 0x41eb63
mov byte [esp + 0x67], 0x80
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [edx + 0x2618]
lea ebp, [edx + 0x1c18]
test edi, edi
jle 0x41f09b
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41eb97
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41ebad
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41ebbd
and ecx, 0xffff
jmp 0x41ebc5
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41f08b
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41eb84
jmp 0x41f09b
cmp bl, 0x88
jb 0x41ebe7
cmp bl, 0x90
jb 0x41ebf2
cmp eax, 0x7ffe8001
jne 0x41ecbb
cmp bl, 0x88
jb 0x41ec14
cmp bl, 0x90
jae 0x41ec14
push 0
push 0x20
mov ecx, ebp
call fcn.00417870
shrd eax, edx, 0x18
shr edx, 0x18
mov byte [esp + 0x67], al
jmp 0x41ec19
mov byte [esp + 0x67], 0x88
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [edx + 0x2618]
lea ebp, [edx + 0x1c18]
test edi, edi
jle 0x41ec98
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41ec49
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41ec5f
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41ec6f
and ecx, 0xffff
jmp 0x41ec77
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41ec88
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41ec36
jmp 0x41ec98
lea eax, [esi + esi*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00419700
jmp 0x41f223
cmp bl, 0xa0
jb 0x41ed87
cmp bl, 0xa8
jae 0x41ed87
push 0
push 0x20
mov ecx, ebp
call fcn.00417870
shrd eax, edx, 0x18
shr edx, 0x18
mov byte [esp + 0x67], al
lea edx, [esp + 0x28]
lea eax, [esp + 0x1c]
push edx
push eax
mov ecx, ebp
call fcn.00419a30
test al, al
je 0x41f22f
mov ecx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [ecx + 0x2618]
lea ebp, [ecx + 0x1c18]
test edi, edi
jle 0x41f227
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41ed30
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41ed46
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41ed56
and ecx, 0xffff
jmp 0x41ed5e
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41ed72
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41ed1d
jmp 0x41f227
lea eax, [esi + esi*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
jmp 0x41f227
cmp bl, 0x20
jb 0x41ee4f
cmp bl, 0x40
jae 0x41ee4f
mov ebp, dword [esp + 0x14]
push 0
push 8
mov ecx, ebp
call fcn.00417870
mov edi, dword [ebp + 0x3020]
add ebp, 0x2620
xor edx, edx
mov byte [esp + 0x67], al
test edi, edi
jle 0x41ee27
mov ebx, dword [esp + 0x67]
lea esi, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41edd8
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41edee
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [esi]
test cx, cx
je 0x41edfe
and ecx, 0xffff
jmp 0x41ee06
xor ecx, ecx
mov ch, byte [esi + 2]
mov cl, byte [esi + 3]
cmp eax, ecx
je 0x41ee17
inc edx
add esi, 0xa0
cmp edx, edi
jl 0x41edc5
jmp 0x41ee27
lea eax, [edx + edx*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
lea eax, [esp + 0x1b]
push edx
push eax
call fcn.00419c10
test al, al
je 0x41f22f
mov dword [esp + 0x10], 2
jmp 0x41f22f
cmp bl, 0x70
jb 0x41ef07
cmp bl, 0x80
jae 0x41ef07
mov ebp, dword [esp + 0x14]
push 0
push 8
mov ecx, ebp
call fcn.00417870
mov edi, dword [ebp + 0x3020]
add ebp, 0x2620
xor edx, edx
mov byte [esp + 0x67], al
test edi, edi
jle 0x41eeef
mov ebx, dword [esp + 0x67]
lea esi, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41eea0
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41eeb6
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [esi]
test cx, cx
je 0x41eec6
and ecx, 0xffff
jmp 0x41eece
xor ecx, ecx
mov ch, byte [esi + 2]
mov cl, byte [esi + 3]
cmp eax, ecx
je 0x41eedf
inc edx
add esi, 0xa0
cmp edx, edi
jl 0x41ee8d
jmp 0x41eeef
lea eax, [edx + edx*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
lea eax, [esp + 0x1b]
push edx
push eax
call fcn.00419c40
jmp 0x41ee3a
cmp bl, 0x10
jae 0x41efb6
mov ebp, dword [esp + 0x14]
push 0
push 8
mov ecx, ebp
call fcn.00417870
mov edi, dword [ebp + 0x3020]
add ebp, 0x2620
xor edx, edx
mov byte [esp + 0x67], al
test edi, edi
jle 0x41ef9e
mov ebx, dword [esp + 0x67]
lea esi, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41ef4f
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41ef65
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [esi]
test cx, cx
je 0x41ef75
and ecx, 0xffff
jmp 0x41ef7d
xor ecx, ecx
mov ch, byte [esi + 2]
mov cl, byte [esi + 3]
cmp eax, ecx
je 0x41ef8e
inc edx
add esi, 0xa0
cmp edx, edi
jl 0x41ef3c
jmp 0x41ef9e
lea eax, [edx + edx*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
lea eax, [esp + 0x1b]
push edx
push eax
call fcn.00419c70
jmp 0x41ee3a
cmp si, 0xffa0
je 0x41f15e
cmp si, 0xffa1
je 0x41f15e
cmp si, 0xff90
jne 0x41f22f
push 0
push 8
mov ecx, ebp
call fcn.00417870
push 0
push 8
mov ecx, ebp
mov byte [esp + 0x6f], al
call fcn.00417870
xor ebx, ebx
push 0
push 0x10
mov ecx, ebp
mov bh, al
call fcn.00417870
or ebx, eax
push 1
push 0x10
mov ecx, ebp
mov word [esp + 0x6c], bx
call fcn.00417870
cmp ax, 0xb77
jne 0x41f0be
mov ecx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [ecx + 0x2618]
lea ebp, [ecx + 0x1c18]
test edi, edi
jle 0x41f09b
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41f04c
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41f062
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41f072
and ecx, 0xffff
jmp 0x41f07a
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41f08b
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41f039
jmp 0x41f09b
lea eax, [esi + esi*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
mov eax, dword [esp + 0x1a8]
lea edx, [esp + 0x28]
push edx
lea ecx, [esp + 0xcc]
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.00419460
jmp 0x41f223
test ax, ax
jne 0x41f22f
mov edx, dword [esp + 0x14]
xor esi, esi
mov edi, dword [edx + 0x3020]
lea ebp, [edx + 0x2620]
test edi, edi
jle 0x41f146
mov ebx, dword [esp + 0x67]
lea edx, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41f0f7
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41f10d
mov eax, dword [esp + 0x66]
mov ecx, ebx
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [edx]
test cx, cx
je 0x41f11d
and ecx, 0xffff
jmp 0x41f125
xor ecx, ecx
mov ch, byte [edx + 2]
mov cl, byte [edx + 3]
cmp eax, ecx
je 0x41f136
inc esi
add edx, 0xa0
cmp esi, edi
jl 0x41f0e4
jmp 0x41f146
lea eax, [esi + esi*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x28]
lea eax, [esp + 0x1b]
push edx
push eax
call fcn.00419e40
jmp 0x41ee3a
mov ebx, dword [esp + 0x14]
push 0
push 8
mov ecx, ebx
call fcn.00417870
push 0
push 8
mov ecx, ebx
mov byte [esp + 0x6f], al
call fcn.00417870
xor ecx, ecx
push 0
mov ch, al
push 0x10
mov dword [esp + 0x24], ecx
mov ecx, ebx
call fcn.00417870
mov ecx, dword [esp + 0x1c]
mov edi, dword [ebx + 0x2618]
lea ebp, [ebx + 0x1c18]
or ecx, eax
xor edx, edx
mov word [esp + 0x64], cx
test edi, edi
jle 0x41f20f
lea esi, [ebp + 0x3c]
cmp word [esp + 0x64], 0
je 0x41f1c2
mov eax, dword [esp + 0x64]
and eax, 0xffff
jmp 0x41f1da
mov eax, dword [esp + 0x66]
mov ecx, dword [esp + 0x67]
and eax, 0xff
and ecx, 0xff
shl eax, 8
or eax, ecx
mov cx, word [esi]
test cx, cx
je 0x41f1ea
and ecx, 0xffff
jmp 0x41f1f2
xor ecx, ecx
mov ch, byte [esi + 2]
mov cl, byte [esi + 3]
cmp eax, ecx
je 0x41f203
inc edx
add esi, 0xa0
cmp edx, edi
jl 0x41f1af
jmp 0x41f20f
lea eax, [edx + edx*4]
shl eax, 5
add eax, ebp
test eax, eax
jne 0x41f22f
lea edx, [esp + 0x28]
lea eax, [esp + 0xc8]
push edx
push eax
mov ecx, ebx
call fcn.00419ca0
test al, al
je 0x41f22f
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0x1bc]
mov edx, dword [esp + 0x1b8]
mov eax, dword [esp + 0x1b4]
push ecx
mov ecx, dword [esp + 0x1b4]
push edx
mov edx, dword [esp + 0x1b4]
push eax
push ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x38]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x30]
call fcn.0041f7f0
cmp word [esp + 0x64], 0
pop edi
pop esi
pop ebp
pop ebx
je 0x41f288
mov eax, dword [esp + 0x54]
and eax, 0xffff
add esp, 0x18c
ret 0x20
mov eax, dword [esp + 0x56]
mov edx, dword [esp + 0x57]
and eax, 0xff
and edx, 0xff
shl eax, 8
or eax, edx
add esp, 0x18c
ret 0x20