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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov eax, dword [0x44e004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
push edi
xor edi, edi
mov eax, dword [esi + 4]
cmp eax, 0xf
ja case.default.0x4101c3
jmp dword [eax*4 + 0x410990]
mov dword [esi + 4], 1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040f060
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040f250
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040cc60
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040f730
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 0xa]
dec eax
cmp eax, 9
ja case.0x41025f.5
movzx eax, byte [eax + 0x4109d8]
jmp dword [eax*4 + 0x4109d0]
call fcn.0040e410
mov edi, eax
test edi, edi
jne 0x410964
cmp dword [esi + 0x74], 0x16
je 0x4102f1
cmp dword [esi], 0
je 0x4102d9
cmp dword [esi + 0xb4], 0
mov ecx, esi
je 0x4102a8
call fcn.0040e1b0
mov edi, 0xffff8900
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xa8]
mov edx, 1
mov dword [esi + 0xac], 0x15
mov dword [esi + 0xb0], 2
mov byte [eax], 2
mov eax, dword [esi + 0xa8]
mov byte [eax + 1], 0xa
call fcn.0040e250
mov edi, 0xffff8900
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x6c]
inc dword [esi + 4]
cmp byte [eax], 0xd
mov eax, dword [esi + 0x38]
sete cl
mov byte [eax + 0x168], cl
mov eax, dword [esi + 0x38]
cmp byte [eax + 0x168], 0
jne 0x410331
xor edi, edi
mov dword [esi + 0x88], 1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x80]
mov edi, dword [esi + 0x6c]
cmp edx, 4
jbe 0x410378
movzx ebx, byte [edi + 4]
lea eax, [ebx + 6]
cmp edx, eax
jbe 0x410378
mov ax, word [edi + ebx + 5]
mov ch, al
mov cl, ah
movzx eax, cx
add ebx, eax
lea eax, [ebx + 7]
cmp edx, eax
jbe 0x410378
mov ax, word [edi + ebx + 7]
mov ch, al
mov cl, ah
movzx eax, cx
add eax, 9
add eax, ebx
cmp edx, eax
je 0x41076d
push 0x32
mov dl, 2
mov ecx, esi
call fcn.0040e770
mov edi, 0xffff8d00
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
xor edi, edi
mov dword [esi + 4], 6
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
cmp dword [esi + 0x88], edi
jne 0x410554
nop word [eax + eax]
mov edx, dword [esi + 0x80]
mov eax, dword [esi + 0x70]
test edx, edx
je 0x410421
test eax, eax
jne 0x410678
mov eax, dword [esi + 0x78]
cmp edx, eax
jae 0x41040e
mov ecx, dword [esi + 0x6c]
sub eax, edx
push eax
mov dword [esi + 0x78], eax
lea eax, [edx + ecx]
push eax
push ecx
call fcn.0042b1d0
add esp, 0xc
mov dword [esi + 0x80], 0
jmp 0x410428
mov dword [esi + 0x78], 0
mov dword [esi + 0x80], 0
jmp 0x410428
test eax, eax
jne 0x410428
mov dword [esi + 0x78], eax
cmp dword [esi + 0x78], 0
ja 0x410447
mov ecx, esi
call fcn.0040e5a0
mov edi, eax
cmp edi, 0xffff9a80
je 0x410489
test edi, edi
jne 0x410964
mov eax, dword [esi + 0x74]
cmp eax, 0x16
jne 0x4104aa
mov edi, dword [esi + 0x78]
cmp edi, 4
jae 0x41045e
mov edi, 0xffff8e00
jmp 0x410489
mov ecx, dword [esi + 0x6c]
movzx edx, byte [ecx + 1]
movzx eax, byte [ecx + 2]
shl edx, 8
or edx, eax
movzx eax, byte [ecx + 3]
shl edx, 8
or eax, edx
add eax, 4
mov dword [esi + 0x80], eax
cmp edi, eax
jae 0x4104f8
mov edi, 0xffff8f80
cmp edi, 0xffff9980
je 0x4103d0
cmp edi, 0xffff9a80
je 0x4103d0
test edi, edi
je 0x4104f8
jmp 0x41053d
cmp eax, 0x14
je 0x4104ea
cmp eax, 0x15
jne 0x4104f8
cmp dword [esi + 0x78], 2
jne 0x410538
mov ecx, dword [esi + 0x6c]
mov al, byte [ecx]
cmp al, 2
je 0x4104e3
cmp al, 1
jne 0x4103d0
mov al, byte [ecx + 1]
test al, al
je 0x4104dc
cmp al, 0x64
jne 0x4103d0
jmp 0x4104f8
mov edi, 0xffff8780
jmp 0x41053d
mov edi, 0xffff8880
jmp 0x41053d
cmp dword [esi + 0x78], 1
jne 0x410538
mov eax, dword [esi + 0x6c]
cmp byte [eax], 1
jne 0x410538
cmp dword [esi + 0x74], 0x16
jne 0x4102d9
cmp dword [esi + 4], 0x1b
jge 0x41055a
mov eax, dword [esi + 0x38]
test eax, eax
je 0x41055a
push dword [esi + 0x80]
mov eax, dword [eax + 0x10]
push dword [esi + 0x6c]
push esi
call eax
mov edi, eax
add esp, 0xc
test edi, edi
je 0x41055a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov edi, 0xffff8e00
mov eax, edi
test eax, eax
je 0x41055a
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov dword [esi + 0x88], edi
cmp dword [esi + 0x74], 0x16
jne 0x4102d9
cmp dword [esi + 0x80], 4
jne 0x410579
mov eax, dword [esi + 0x6c]
cmp byte [eax], 0xe
je 0x41076a
cmp dword [esi], 0
je 0x4105d7
cmp dword [esi + 0xb4], 0
mov ecx, esi
je 0x4105a6
call fcn.0040e1b0
mov edi, 0xffff8d00
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xa8]
mov edx, 1
mov dword [esi + 0xac], 0x15
mov dword [esi + 0xb0], 2
mov byte [eax], 2
mov eax, dword [esi + 0xa8]
mov byte [eax + 1], 0x32
call fcn.0040e250
mov edi, 0xffff8d00
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040c890
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040fc60
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040fea0
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xa8]
mov dword [esi + 0xac], 0x14
mov dword [esi + 0xb0], 1
mov byte [eax], 1
mov ecx, dword [esi + 0xb0]
mov edi, dword [esi + 0xa8]
inc dword [esi + 4]
mov eax, dword [esi + 0xac]
lea edx, [ecx - 4]
mov bl, byte [edi]
cmp eax, 0x16
je 0x410690
cmp eax, 0x14
je 0x410694
mov edi, 0xffff9400
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
test bl, bl
je 0x41069a
cmp dword [esi + 0x38], 0
je 0x410678
cmp ecx, 0x4000
ja 0x410678
cmp eax, 0x16
jne 0x4106ec
mov eax, edx
mov ecx, edx
shr eax, 0x10
mov byte [edi + 1], al
mov eax, dword [esi + 0xa8]
shr ecx, 8
mov byte [eax + 2], cl
mov eax, dword [esi + 0xa8]
mov byte [eax + 3], dl
test bl, bl
je 0x4106ec
push dword [esi + 0xb0]
mov eax, dword [esi + 0x38]
push dword [esi + 0xa8]
push esi
mov eax, dword [eax + 0x10]
call eax
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x410964
mov edx, 1
mov ecx, esi
call fcn.0040e250
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040d0f0
mov edi, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
call fcn.0040e410
mov edi, eax
test edi, edi
jne 0x410964
cmp dword [esi + 0x74], 0x14
jne 0x41027b
mov eax, dword [esi + 0x48]
xorps xmm0, xmm0
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x34]
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x5c]
movq qword [eax], xmm0
mov ecx, dword [esi + 0x60]
lea eax, [ecx - 8]
mov dword [esi + 0x5c], eax
lea eax, [ecx + 3]
mov dword [esi + 0x64], eax
lea eax, [ecx + 5]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], eax
inc dword [esi + 4]
xor edi, edi
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi]
mov ecx, dword [esi + 0x38]
movzx eax, byte [eax + 8]
xor eax, 1
push eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ecx + 0x18]
push esi
call eax
add esp, 0xc
mov ecx, esi
call fcn.0040e410
mov edi, eax
test edi, edi
jne 0x410875
cmp dword [esi + 0x74], 0x16
je 0x41080a
cmp dword [esi], 0
je 0x410803
cmp dword [esi + 0xb4], 0
mov ecx, esi
je 0x4107d2
call fcn.0040e1b0
mov edi, 0xffff8900
jmp 0x410875
mov eax, dword [esi + 0xa8]
mov edx, 1
mov dword [esi + 0xac], 0x15
mov dword [esi + 0xb0], 2
mov byte [eax], 2
mov eax, dword [esi + 0xa8]
mov byte [eax + 1], 0xa
call fcn.0040e250
mov edi, 0xffff8900
jmp 0x410875
mov ecx, dword [esi + 0x6c]
cmp byte [ecx], 0x14
jne 0x4107b3
cmp dword [esi + 0x80], 0x10
je 0x410830
push 0x32
mov dl, 2
mov ecx, esi
call fcn.0040e770
add esp, 4
mov edi, 0xffff8d00
jmp 0x410875
push 0xc
add ecx, 4
lea edx, [ebp - 0x10]
call fcn.00414f20
add esp, 4
test eax, eax
je 0x410859
push 0x33
mov dl, 2
mov ecx, esi
call fcn.0040e770
add esp, 4
mov edi, 0xffff9200
jmp 0x410875
mov eax, dword [esi + 0x38]
cmp byte [eax], 0
je 0x410872
mov eax, dword [esi]
cmp byte [eax + 8], 0
jne 0x410875
mov dword [esi + 4], 0xa
jmp 0x410875
inc dword [esi + 4]
mov ecx, 0xc
lea eax, [ebp - 0x10]
nop dword [eax]
mov byte [eax], 0
lea eax, [eax + 1]
sub ecx, 1
jne 0x410880
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov dword [esi + 4], 0xf
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x38]
mov ebx, dword [esi + 0x30]
mov al, byte [eax]
mov byte [ebp - 0x11], al
test ebx, ebx
je 0x4108fb
mov eax, dword [ebx + 0x68]
test eax, eax
je 0x4108e0
push eax
call fcn.0042f3a1
add esp, 4
mov dword [ebx + 0x68], edi
mov dword [ebx + 0x70], edi
mov dword [ebx + 0x6c], edi
mov eax, 0x78
mov byte [ebx], 0
lea ebx, [ebx + 1]
sub eax, 1
jne 0x4108e5
push dword [esi + 0x30]
call fcn.0042f3a1
add esp, 4
mov edx, dword [esi]
mov eax, dword [esi + 0x34]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], edi
mov ebx, dword [edx + 0x24]
test ebx, ebx
je 0x410928
mov ecx, dword [eax + 0x14]
test ecx, ecx
je 0x410928
cmp byte [ebp - 0x11], 0
jne 0x410928
push eax
push ecx
add eax, 0x18
push eax
push dword [edx + 0x28]
call ebx
add esp, 0x10
mov ecx, esi
call fcn.0040bd90
push dword [esi + 0x38]
call fcn.0042f3a1
mov ecx, dword [esi + 0x44]
add esp, 4
mov dword [esi + 0x38], edi
test ecx, ecx
je 0x410954
call fcn.0040e9e0
push dword [esi + 0x44]
call fcn.0042f3a1
add esp, 4
mov eax, dword [esi + 0x48]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], edi
mov dword [esi + 4], 0x1b
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004295a7
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 0xffff8f00
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004295a7
mov esp, ebp
pop ebp
ret