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

Disassembly:
xor byte [ebx], bh
je case.default.0x41a236
mov eax, dword [edi + 0x38]
dec eax
cmp eax, 0xb
ja case.default.0x41a236
jmp dword [eax*4 + 0x41ac70]
mov eax, dword [edi + 8]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jle 0x41a2b5
mov dword [esp + 0x68], ebx
mov edx, dword [esp + 0x68]
mov ebp, dword [edi + 0xc]
add edx, ebp
push ebx
push edx
mov ecx, esi
call fcn.0043d880
cmp dword [esi + 0x78], 0x14
je 0x41a26c
cmp dword [esi + 0x98], ebx
je 0x41a29a
push 0xa
mov ecx, esi
call fcn.0043bf40
dec eax
push eax
call fcn.00440dd0
mov ebp, eax
add esp, 8
cmp ebp, ebx
je 0x41a29a
push ebp
push esi
call fcn.00473d40
add esp, 8
mov ecx, 0x4afb50
push ebp
call fcn.004161f0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
mov ecx, dword [edi + 8]
inc eax
add edx, 0x10
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x68], edx
jl 0x41a24c
mov ecx, esi
call fcn.0043bf40
mov dword [esp + 0x68], eax
sub esp, 8
fild dword [esp + 0x70]
lea ecx, [edi + 0x18]
fstp qword [esp]
call fcn.0043d1d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
add edi, 0x18
mov ecx, esi
push edi
call fcn.0043d990
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov eax, dword [edi]
lea ecx, [esp + 0x34]
push eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], 6
lea edx, [esp + 0x44]
mov ecx, esi
push edx
push ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
call fcn.0043d8e0
push 0xffffffffffffffff
mov ecx, esi
call fcn.0043da00
lea eax, [esp + 0x44]
push 1
push eax
lea ecx, [edi + 0x18]
call fcn.0043d4d0
lea ecx, [esp + 0x44]
call fcn.0043d130
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
mov eax, dword [edi + 8]
cmp eax, ebx
je 0x41a50c
push eax
mov ecx, esi
call fcn.0043da00
mov eax, dword [edi + 8]
inc edi
or byte [ebx], dh
in eax, dx
mov eax, dword [edi + 8]
mov dword [esp + 0x68], ebx
cmp eax, ebx
je 0x41a564
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 6
je 0x41a552
push ecx
mov ecx, dword [edi]
call fcn.0044b9c0
mov dword [esp + 0x68], eax
jmp 0x41a568
cmp eax, ebx
je 0x41a564
mov eax, dword [edi + 0xc]
cmp dword [eax], 6
jne case.default.0x41a236
jmp 0x41a568
mov dword [esp + 0x68], ebx
mov ecx, esi
call fcn.0043bf40
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
cmp eax, 1
jle 0x41a592
mov eax, dword [edi + 0xc]
add eax, 0x10
cmp dword [eax], 6
je 0x41a592
mov ecx, dword [edi]
push eax
call fcn.0044b9c0
mov dword [esp + 0x10], eax
mov ecx, esi
call fcn.0043bf40
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x6c]
push ecx
push edx
call fcn.0041b980
mov eax, dword [edi]
add esp, 0xc
lea ecx, [esp + 0x34]
mov dword [esp + 0x3c], ebx
push eax
mov dword [esp + 0x38], 6
mov dword [esp + 0x3c], ebx
call fcn.0043d3c0
mov eax, dword [esp + 0x3c]
cmp eax, ebx
mov dword [esp + 0x14], eax
je 0x41a62b
mov ebp, dword [esp + 0x68]
mov eax, dword [esp + 0x10]
cmp ebp, eax
jge 0x41a61e
lea ecx, [esp + 0x44]
mov dword [esp + 0x4c], ebx
push ecx
push ebp
mov ecx, esi
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
call fcn.0043d8e0
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x44]
push ebx
push edx
call fcn.0043d880
lea ecx, [esp + 0x44]
call fcn.0043d130
mov eax, dword [esp + 0x10]
inc ebp
cmp ebp, eax
jl 0x41a5e0
mov eax, dword [esp + 0x14]
lea ecx, [edi + 0x18]
push eax
call fcn.0043d360
lea ecx, [esp + 0x34]
call fcn.0043d130
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
cmp dword [edi + 8], ebx
je case.default.0x41a236
mov eax, dword [edi + 0xc]
cmp dword [eax], 6
je case.default.0x41a236
mov ecx, dword [edi]
push eax
call fcn.0044b9c0
mov ecx, esi
mov dword [esp + 0x68], eax
call fcn.0043bf40
mov ecx, esi
mov dword [esp + 0x20], eax
call fcn.0043bf40
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x6c]
push ecx
push edx
call fcn.0041b980
add esp, 0xc
mov ecx, esi
call fcn.0043bf40
sub eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 8]
cmp eax, 1
jle 0x41a6de
mov eax, dword [edi + 0xc]
add eax, 0x10
cmp dword [eax], 6
je case.default.0x41a236
mov ecx, dword [edi]
push eax
call fcn.0044b9c0
mov ebp, eax
cmp ebp, ebx
mov dword [esp + 0x10], ebp
jl case.default.0x41a236
mov ecx, esi
call fcn.0043bf40
mov ecx, dword [esp + 0x68]
add ebp, ecx
cmp ebp, eax
jle 0x41a6de
mov ecx, esi
call fcn.0043bf40
sub eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
inc esp
and al, 0x10
mov edx, dword [edi]
mov eax, 6
push edx
lea ecx, [esp + 0x28]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ebx
call fcn.0043d3c0
mov eax, dword [edi]
lea ecx, [esp + 0x34]
push eax
call fcn.0043d3c0
mov ebp, dword [esp + 0x2c]
mov eax, dword [esp + 0x3c]
cmp ebp, ebx
mov dword [esp + 0x1c], eax
je 0x41a901
cmp eax, ebx
je 0x41a901
mov eax, dword [esp + 0x68]
mov dword [esp + 0x14], ebx
cmp eax, ebx
jle 0x41a783
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x44]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
call fcn.0043d8e0
lea eax, [esp + 0x44]
push ebx
push eax
mov ecx, ebp
call fcn.0043d880
lea ecx, [esp + 0x44]
call fcn.0043d130
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x41a73b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x14], eax
add ecx, eax
cmp eax, ecx
jge 0x41a7e1
mov eax, dword [esp + 0x14]
lea edx, [esp + 0x44]
push edx
push eax
mov ecx, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
call fcn.0043d8e0
lea ecx, [esp + 0x44]
push ebx
push ecx
mov ecx, dword [esp + 0x24]
call fcn.0043d880
lea ecx, [esp + 0x44]
call fcn.0043d130
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x10]
inc ecx
add edx, eax
mov dword [esp + 0x14], ecx
cmp ecx, edx
jl 0x41a791
mov ecx, dword [edi + 8]
cmp ecx, 2
jle 0x41a82a
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0x20
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0xc]
add eax, ecx
push ebx
push eax
mov ecx, ebp
call fcn.0043d880
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ecx, dword [edi + 8]
inc eax
add edx, 0x10
cmp eax, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
jl 0x41a7f9
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x10], ecx
mov ecx, esi
call fcn.0043bf40
cmp dword [esp + 0x10], eax
jge 0x41a88e
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x44]
push edx
push eax
mov ecx, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
call fcn.0043d8e0
lea ecx, [esp + 0x44]
push ebx
push ecx
mov ecx, ebp
call fcn.0043d880
lea ecx, [esp + 0x44]
call fcn.0043d130
mov edx, dword [esp + 0x10]
mov ecx, esi
inc edx
mov dword [esp + 0x10], edx
call fcn.0043bf40
cmp dword [esp + 0x10], eax
jl 0x41a841
push 1
push ebx
mov ecx, esi
call fcn.0043be00
mov ecx, ebp
mov dword [esp + 0x10], ebx
call fcn.0043bf40
test eax, eax
jle 0x41a8f4
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x44]
push edx
push eax
mov ecx, ebp
mov dword [esp + 0x54], ebx
mov dword [esp + 0x4c], 6
mov dword [esp + 0x50], ebx
call fcn.0043d8e0
lea ecx, [esp + 0x44]
push ebx
push ecx
mov ecx, esi
call fcn.0043d880
lea ecx, [esp + 0x44]
call fcn.0043d130
mov edx, dword [esp + 0x10]
mov ecx, ebp
inc edx
mov dword [esp + 0x10], edx
call fcn.0043bf40
cmp dword [esp + 0x10], eax
jl 0x41a8a7
mov edx, dword [esp + 0x1c]
lea ecx, [edi + 0x18]
push edx
call fcn.0043d360
lea ecx, [esp + 0x34]
call fcn.0043d130
lea ecx, [esp + 0x24]
call fcn.0043d130
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
push 0x4a38a0
lea ecx, [esp + 0x48]
call fcn.00413c40
cmp dword [edi + 0x38], 7
jne 0x41a95a
cmp dword [edi + 8], ebx
je 0x41a95a
mov eax, dword [edi + 0xc]
mov ecx, dword [edi]
push eax
call fcn.0044b750
mov ebp, eax
cmp ebp, ebx
je 0x41a95a
push ebp
lea ecx, [esp + 0x48]
call fcn.00414080
push ebp
mov ecx, 0x4afb50
call fcn.004161f0
push 0x4afb44
lea ecx, [esp + 0x38]
call fcn.00413c40
xor ebp, ebp
mov ecx, esi
mov dword [esp + 0x68], ebp
call fcn.0043bf40
test eax, eax
jle 0x41aa21
cmp ebp, ebx
je 0x41a98f
lea eax, [esp + 0x44]
lea ecx, [esp + 0x34]
push eax
call fcn.00413ce0
mov edx, dword [esp + 0x68]
lea ecx, [esp + 0x54]
push ecx
push edx
mov ecx, esi
mov dword [esp + 0x64], ebx
mov dword [esp + 0x5c], 6
mov dword [esp + 0x60], ebx
call fcn.0043d8e0
mov ecx, dword [edi]
lea eax, [esp + 0x54]
push eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
call fcn.0044b750
mov ebp, eax
cmp ebp, ebx
je 0x41a9e3
push ebp
lea ecx, [esp + 0x28]
call fcn.00414080
push ebp
mov ecx, 0x4afb50
call fcn.004161f0
lea ecx, [esp + 0x24]
push ecx
lea ecx, [esp + 0x38]
call fcn.00413ce0
mov edx, dword [esp + 0x24]
mov ecx, 0x4afb50
push edx
call fcn.004161f0
lea ecx, [esp + 0x54]
call fcn.0043d130
mov ebp, dword [esp + 0x68]
mov ecx, esi
inc ebp
mov dword [esp + 0x68], ebp
call fcn.0043bf40
cmp ebp, eax
jl 0x41a97d
mov ecx, dword [edi]
call fcn.0044d330
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [edi + 0x18]
call fcn.0043d210
mov ecx, dword [esp + 0x34]
push ecx
mov ecx, 0x4afb50
call fcn.004161f0
mov edx, dword [esp + 0x44]
mov ecx, 0x4afb50
push edx
call fcn.004161f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
xor ebp, ebp
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], 6
mov dword [esp + 0x38], ebx
mov dword [esp + 0x68], ebp
call fcn.00414770
mov ecx, esi
call fcn.0043bf40
add al, byte [eax]