Function at 0x402dc0
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 [0x40e464], edx
xor bx, bx
mov dword [0x40e448], edx
mov word [esp + 0x46], ax
mov dword [0x40e438], edx
mov eax, 0xd
mov word [esp + 0x48], ax
mov word [esp + 0x4a], ax
xor si, si
mov ebp, dword [0x40e4b0]
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 0x402f8d
inc si
mov ecx, dword [0x40e3f4]
movsx eax, dx
inc dx
mov byte [eax + ecx], bl
movzx eax, si
cmp eax, edi
jl 0x402f76
inc bx
cmp bx, 0x1c
jl 0x402f4f
xor si, si
mov eax, dword [0x40e3f4]
movsx ecx, dx
xor edx, edx
mov byte [ecx + eax - 1], bl
movsx eax, dx
mov ebx, dword [0x40e474]
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 0x402fe3
inc bx
mov ecx, dword [0x40e434]
movzx eax, si
inc si
mov byte [eax + ecx], dl
movzx eax, bx
cmp eax, edi
jl 0x402fcc
inc dx
cmp dx, 0x10
jl 0x402fa6
shr si, 7
cmp dx, 0x1e
jge 0x403049
xor bx, bx
mov ecx, dword [0x40e474]
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 0x403041
inc bx
mov ecx, dword [0x40e434]
movzx eax, si
inc si
mov byte [eax + ecx + 0x100], dl
movzx eax, bx
cmp eax, edi
jl 0x403026
inc dx
cmp dx, 0x1e
jl 0x402ff5
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40e528]
mov word [edx + ecx*2], 0
cmp ax, 0xf
jbe 0x40304c
xor cx, cx
mov esi, 8
movzx eax, cx
inc cx
mov edx, dword [0x40e4b4]
mov word [edx + eax*4 + 2], si
mov eax, dword [0x40e528]
inc word [eax + 0x10]
cmp cx, 0x8f
jbe 0x40306b
cmp cx, 0xff
ja 0x4030b7
mov esi, 9
movzx edx, cx
inc cx
mov eax, dword [0x40e4b4]
mov word [eax + edx*4 + 2], si
mov edx, dword [0x40e528]
inc word [edx + 0x12]
cmp cx, 0xff
jbe 0x403097
cmp cx, 0x117
ja 0x4030e3
mov esi, 7
movzx eax, cx
inc cx
mov edx, dword [0x40e4b4]
mov word [edx + eax*4 + 2], si
mov eax, dword [0x40e528]
inc word [eax + 0xe]
cmp cx, 0x117
jbe 0x4030c3
cmp cx, 0x11f
ja 0x40310f
mov esi, 8
movzx edx, cx
inc cx
mov eax, dword [0x40e4b4]
mov word [eax + edx*4 + 2], si
mov edx, dword [0x40e528]
inc word [edx + 0x10]
cmp cx, 0x11f
jbe 0x4030ef
xor di, di
push 0x11f
mov eax, dword [0x40e4b4]
mov esi, 5
push eax
call fcn.00404db0
add esp, 8
movzx eax, di
mov ecx, dword [0x40e49c]
push esi
mov word [ecx + eax*4 + 2], si
push edi
inc di
lea ebx, [eax*4]
call fcn.00404d80
add esp, 8
mov ecx, dword [0x40e49c]
mov word [ebx + ecx], ax
cmp di, 0x1e
jb 0x40312a
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40e530]
mov word [edx + ecx*2], 0
cmp ax, 0x8000
jb 0x40315e
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40e40c]
mov word [edx + ecx*2], 0
cmp ax, 0x8000
jb 0x403178
xor ax, ax
movzx ecx, ax
inc ax
mov edx, dword [0x40e544]
mov word [edx + ecx*2], 0
cmp ax, 0x23d
jb 0x403192
xor ax, ax
movzx edx, ax
inc ax
mov ecx, dword [0x40e4a0]
cmp ax, 0x23d
mov byte [edx + ecx], 0
jb 0x4031ac
xor ecx, ecx
mov eax, dword [0x40e538]
mov edx, dword [0x40e4b4]
mov byte [0x40e53c], cl
mov dword [0x40e550], ecx
mov dword [0x40e420], eax
mov byte [0x40e47c], 1
mov word [0x40e432], cx
mov dword [0x40e424], edx
mov edx, 0xf
mov eax, dword [0x40e444]
mov word [0x40e430], dx
mov dword [0x40e3e0], eax
mov dword [0x40e428], 0x40d100
mov word [0x40e3ec], cx
mov ebx, dword [0x40e49c]
mov dword [0x40e3e8], 0x40d140
mov word [0x40e3f0], dx
mov dword [0x40e3e4], ebx
mov word [0x40e3f2], cx
mov edx, dword [0x40e440]
mov dword [0x40e480], edx
mov dword [0x40e484], ecx
mov dword [0x40e488], 0x40d180
mov word [0x40e42c], 0x101
mov word [0x40e42e], 0x11e
mov word [0x40e3ee], 0x1e
mov word [0x40e48c], cx
mov dword [0x40e464], ecx
mov word [0x40e492], cx
pop ebp
mov word [0x40e48e], 0x13
mov word [0x40e490], 7
pop edi
pop esi
pop ebx
add esp, 0x78
ret