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

Disassembly:
sub esp, 0x54
mov al, byte [0x4b64e8]
mov dl, byte [0x803b84]
neg al
sbb al, al
push ebx
mov bl, byte [esp + 0x5c]
and al, 3
push ebp
inc al
push esi
cmp bl, dl
push edi
mov dword [esp + 0x40], str.iCreate_XBBT0
mov dword [esp + 0x44], str.iCreate_XBBT1
mov dword [esp + 0x48], str.iCreate_XBBT2
mov dword [esp + 0x4c], str.iCreate_XBBT3
mov byte [esp + 0x20], 0
mov byte [esp + 0x18], 0
mov byte [esp + 0x38], al
jb 0x416ce8
xor al, al
mov byte [esp + 0x12], dl
jmp 0x416cf2
mov cl, bl
mov al, bl
inc cl
mov byte [esp + 0x12], cl
mov cl, byte [esp + 0x12]
mov byte [esp + 0x1c], al
cmp al, cl
jae 0x416f88
mov edi, dword [esp + 0x1c]
push edi
call fcn.0041d3b0
mov esi, eax
push 1
push esi
push edi
mov dword [esp + 0x4c], esi
call fcn.00418220
push esi
call fcn.00411cb0
mov byte [esp + 0x27], al
mov al, byte [0x4b64e8]
add esp, 0x14
test al, al
je 0x416d3f
mov cx, word [0x803b7e]
mov word [esp + 0x14], cx
jmp 0x416d65
mov eax, esi
shr eax, 0xc
mov cx, ax
mov dword [esp + 0x14], eax
test cx, cx
jne 0x416d5a
mov dword [esp + 0x14], 1
jmp 0x416d65
cmp cx, 1
jb 0x416d65
inc eax
mov dword [esp + 0x14], eax
mov eax, edi
xor ecx, ecx
and eax, 0xff
mov dword [esp + 0x30], ecx
shl eax, 0xd
add eax, 0x803b88
cmp esi, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x24], ecx
jbe 0x416f5c
jmp 0x416d90
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
xor bl, bl
mov dword [esp + 0x2c], edx
mov byte [esp + 0x28], bl
mov al, byte [esp + 0x13]
mov ecx, dword [esp + 0x28]
sub al, bl
lea edx, [esp + 0x2c]
dec al
push eax
push ecx
push edx
call fcn.00411b80
add esp, 0xc
inc bl
cmp bl, 3
mov byte [esp + 0x28], bl
jb 0x416d9e
mov eax, dword [esp + 0x2c]
push eax
push edi
call fcn.00409ee0
xor ebx, ebx
mov ebp, eax
mov bx, word [0x803b7e]
push 0x210
imul ebx, ebp
call fcn.004261a4
mov esi, eax
push esi
push 0xff
push 0
push 1
push ebx
call fcn.00412dc0
mov ecx, esi
push esi
mov byte [esp + 0x84], 0
mov edx, dword [ecx]
mov dword [esp + 0x74], edx
mov eax, dword [ecx + 4]
mov dword [esp + 0x78], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x7c], edx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x80], eax
call fcn.004260bb
mov al, byte [0x4b64e8]
add esp, 0x24
test al, al
je 0x416e52
mov ecx, dword [esp + 0x18]
mov edx, ecx
and edx, 0xff
and edx, 0x80000003
jns 0x416e4c
dec edx
or edx, 0xfffffffc
inc edx
mov edi, dword [esp + edx*4 + 0x40]
jmp 0x416e5b
mov ecx, dword [esp + 0x18]
mov edi, str.iCreate_XBBT
lea esi, [esp + 0x50]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x416e83
test al, al
je 0x416e7f
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x416e83
add esi, 2
add edi, 2
test al, al
jne 0x416e5f
xor eax, eax
jmp 0x416e88
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x416f3d
mov edi, dword [esp + 0x14]
mov al, byte [esp + 0x18]
and edi, 0xffff
and ecx, 0xff
mov esi, edi
inc al
shl esi, 5
add esi, edi
mov dword [ecx*4 + 0x7e0ed4], ebp
shl esi, 4
push esi
mov byte [esp + 0x1c], al
call fcn.004261a4
mov ebp, eax
push ebp
push 0xff
push 0
push edi
push ebx
call fcn.00412dc0
add esp, 0x18
xor ecx, ecx
test esi, esi
jbe 0x416f1a
cmp ecx, 0x10
jb 0x416f15
mov eax, ecx
xor edx, edx
mov edi, 0x210
div edi
cmp edx, 0x200
jne 0x416ef6
add ecx, 0x10
cmp ecx, esi
jae 0x416f1a
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov bl, byte [ecx + ebp]
mov edx, eax
and edx, 0xffff
inc eax
mov dword [esp + 0x30], eax
mov byte [edx + edi], bl
inc ecx
cmp ecx, esi
jb 0x416edb
push ebp
call fcn.004260bb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
and eax, 0xff
and ecx, 0xff
cdq
idiv ecx
add esp, 4
test edx, edx
je 0x416f54
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x3c]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jb 0x416d8c
jmp 0x416f58
inc byte [esp + 0x20]
mov bl, byte [esp + 0x68]
mov dl, byte [0x803b84]
cmp bl, dl
jb 0x416f72
mov al, byte [esp + 0x20]
mov cl, byte [esp + 0x1c]
cmp al, cl
jbe 0x416f9d
mov al, byte [esp + 0x1c]
mov cl, byte [esp + 0x12]
inc al
cmp al, cl
mov byte [esp + 0x1c], al
jb 0x416d02
cmp bl, dl
jb 0x416fa7
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
and eax, 0xff
pop ebx
add esp, 0x54
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x54
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x54
ret