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

Disassembly:
sub esp, 0x78
xor edx, edx
mov word [esp + 0x3c], dx
push ebx
mov word [esp + 0x42], dx
push esi
mov word [esp + 0x48], dx
push edi
mov word [esp + 0x4e], dx
push ebp
mov word [esp + 0x54], dx
mov eax, 1
mov word [esp + 0x56], dx
mov word [esp + 0x58], dx
mov word [esp + 0x5a], dx
mov ecx, 2
mov word [esp + 0x5c], ax
mov word [esp + 0x5e], ax
mov word [esp + 0x60], ax
mov word [esp + 0x62], ax
mov esi, 3
mov word [esp + 0x64], cx
mov word [esp + 0x66], cx
mov word [esp + 0x68], cx
mov word [esp + 0x6a], cx
mov edi, 4
mov word [esp + 0x6c], si
mov word [esp + 0x6e], si
mov word [esp + 0x70], si
mov word [esp + 0x72], si
mov ebx, 5
mov word [esp + 0x74], di
mov word [esp + 0x76], di
mov word [esp + 0x78], di
mov word [esp + 0x7a], di
mov word [esp + 0x7c], bx
mov word [esp + 0x7e], bx
mov word [esp + 0x80], bx
mov word [esp + 0x82], bx
mov word [esp + 0x84], dx
mov word [esp + 0x10], dx
mov word [esp + 0x12], dx
mov word [esp + 0x14], dx
mov word [esp + 0x16], dx
mov word [esp + 0x18], ax
mov word [esp + 0x1a], ax
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], cx
mov word [esp + 0x20], si
mov word [esp + 0x22], si
mov eax, 6
mov word [esp + 0x24], di
mov word [esp + 0x26], di
mov word [esp + 0x28], bx
mov word [esp + 0x2a], bx
mov word [esp + 0x2c], ax
mov word [esp + 0x2e], ax
mov eax, 7
mov word [esp + 0x30], ax
mov word [esp + 0x32], ax
mov eax, 8
mov word [esp + 0x34], ax
mov word [esp + 0x36], ax
mov eax, 9
mov word [esp + 0x38], ax
mov word [esp + 0x3a], ax
mov eax, 0xa
mov word [esp + 0x3c], ax
mov word [esp + 0x3e], ax
mov eax, 0xb
mov word [esp + 0x40], ax
mov word [esp + 0x42], ax
mov eax, 0xc
mov word [esp + 0x44], ax
mov dword [0x40f5a4], edx
xor bx, bx
mov dword [0x40f588], edx
mov word [esp + 0x46], ax
mov dword [0x40f578], edx
mov eax, 0xd
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
xor si, si
mov ebp, dword [0x40f5f0]
movsx eax, bx
mov edi, 1
lea ecx, [eax*2]
mov word [ebp + ecx], dx
mov cl, byte [esp + ecx + 0x4c]
shl edi, cl
test edi, edi
jle 0x4034cd
inc si
mov ecx, dword [0x40f534]
movsx eax, dx
inc dx
mov byte [eax + ecx], bl
movzx eax, si
cmp eax, edi
jl 0x4034b6
inc bx
cmp bx, 0x1c
jl 0x40348f
xor si, si
mov eax, dword [0x40f534]
movsx ecx, dx
xor edx, edx
mov byte [ecx + eax - 1], bl
movsx eax, dx
mov ebx, dword [0x40f5b4]
mov edi, 1
lea ecx, [eax*2]
mov word [ebx + ecx], si
mov cl, byte [esp + ecx + 0x10]
shl edi, cl
xor bx, bx
test edi, edi
jle 0x403523
inc bx
mov ecx, dword [0x40f574]
movzx eax, si
inc si
mov byte [eax + ecx], dl
movzx eax, bx
cmp eax, edi
jl 0x40350c
inc dx
cmp dx, 0x10
jl 0x4034e6
shr si, 7
cmp dx, 0x1e
jge 0x403589
xor bx, bx
mov ecx, dword [0x40f5b4]
movsx eax, dx
mov edi, 1
lea ebp, [eax*2]
mov ax, si
shl ax, 7
mov word [ecx + ebp], ax
mov cx, word [esp + ebp + 0x10]
sub cl, 7
shl edi, cl
test edi, edi
jle 0x403581
inc bx
mov ecx, dword [0x40f574]
movzx eax, si
inc si
mov byte [eax + ecx + 0x100], dl
movzx eax, bx
cmp eax, edi
jl 0x403566
inc dx
cmp dx, 0x1e
jl 0x403535
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40f668]
mov word [edx + ecx*2], 0
cmp ax, 0xf
jbe 0x40358c
xor cx, cx
mov esi, 8
movzx eax, cx
inc cx
mov edx, dword [0x40f5f4]
mov word [edx + eax*4 + 2], si
mov eax, dword [0x40f668]
inc word [eax + 0x10]
cmp cx, 0x8f
jbe 0x4035ab
cmp cx, 0xff
ja 0x4035f7
mov esi, 9
movzx edx, cx
inc cx
mov eax, dword [0x40f5f4]
mov word [eax + edx*4 + 2], si
mov edx, dword [0x40f668]
inc word [edx + 0x12]
cmp cx, 0xff
jbe 0x4035d7
cmp cx, 0x117
ja 0x403623
mov esi, 7
movzx eax, cx
inc cx
mov edx, dword [0x40f5f4]
mov word [edx + eax*4 + 2], si
mov eax, dword [0x40f668]
inc word [eax + 0xe]
cmp cx, 0x117
jbe 0x403603
cmp cx, 0x11f
ja 0x40364f
mov esi, 8
movzx edx, cx
inc cx
mov eax, dword [0x40f5f4]
mov word [eax + edx*4 + 2], si
mov edx, dword [0x40f668]
inc word [edx + 0x10]
cmp cx, 0x11f
jbe 0x40362f
xor di, di
push 0x11f
mov eax, dword [0x40f5f4]
mov esi, 5
push eax
call fcn.004052f0
add esp, 8
movzx eax, di
mov ecx, dword [0x40f5dc]
push esi
mov word [ecx + eax*4 + 2], si
push edi
inc di
lea ebx, [eax*4]
call fcn.004052c0
add esp, 8
mov ecx, dword [0x40f5dc]
mov word [ebx + ecx], ax
cmp di, 0x1e
jb 0x40366a
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40f670]
mov word [edx + ecx*2], 0
cmp ax, 0x8000
jb 0x40369e
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40f54c]
mov word [edx + ecx*2], 0
cmp ax, 0x8000
jb 0x4036b8
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40f684]
mov word [edx + ecx*2], 0
cmp ax, 0x23d
jb 0x4036d2
xor ax, ax
movzx edx, ax
inc ax
mov ecx, dword [0x40f5e0]
cmp ax, 0x23d
mov byte [edx + ecx], 0
jb 0x4036ec
xor ecx, ecx
mov eax, dword [0x40f678]
mov edx, dword [0x40f5f4]
mov byte [0x40f67c], cl
mov dword [0x40f690], ecx
mov dword [0x40f560], eax
mov byte [0x40f5bc], 1
mov word [0x40f572], cx
mov dword [0x40f564], edx
mov edx, 0xf
mov eax, dword [0x40f584]
mov word [0x40f570], dx
mov dword [0x40f520], eax
mov dword [0x40f568], 0x40e230
mov word [0x40f52c], cx
mov ebx, dword [0x40f5dc]
mov dword [0x40f528], 0x40e270
mov word [0x40f530], dx
mov dword [0x40f524], ebx
mov word [0x40f532], cx
mov edx, dword [0x40f580]
mov dword [0x40f5c0], edx
mov dword [0x40f5c4], ecx
mov dword [0x40f5c8], 0x40e2b0
mov word [0x40f56c], 0x101
mov word [0x40f56e], 0x11e
mov word [0x40f52e], 0x1e
mov word [0x40f5cc], cx
mov dword [0x40f5a4], ecx
mov word [0x40f5d2], cx
pop ebp
mov word [0x40f5ce], 0x13
mov word [0x40f5d0], 7
pop edi
pop esi
pop ebx
add esp, 0x78
ret