Function at 0x45cbb0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x28]
mov dword [ebp - 0x2c], eax
cmp dword [ebx + 0x268], 3
mov edx, dword [ebx + 0x54]
add edx, 2
mov dword [ebp - 0x18], edx
xor esi, esi
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x45cbf3
mov edx, esi
shl edx, 7
add edx, esi
lea ecx, [ebx + edx*2]
mov byte [ecx + eax + 0x9324], 0xf
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x45cbdb
inc esi
cmp esi, 6
jl 0x45cbd4
cmp dword [ebx + 0x274], 0
jg 0x45cc0d
push 0xbb9
call fcn.0045b064
pop ecx
cmp dword [ebx + 0x274], 0xc8
jge 0x45cc22
mov dword [ebp - 0x24], 2
jmp 0x45cc68
cmp dword [ebx + 0x274], 0x258
jge 0x45cc37
mov dword [ebp - 0x24], 3
jmp 0x45cc68
cmp dword [ebx + 0x274], 0x4b0
jge 0x45cc4c
mov dword [ebp - 0x24], 4
jmp 0x45cc68
cmp dword [ebx + 0x274], 0x960
jge 0x45cc61
mov dword [ebp - 0x24], 5
jmp 0x45cc68
mov dword [ebp - 0x24], 6
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebx + 0x274]
mov dword [ebp - 0x30], eax
xor edi, edi
test ecx, ecx
jle 0x45cd40
mov eax, dword [ebp - 0x30]
cdq
idiv ecx
lea edx, [edi - 1]
mov dword [ebp - 8], edx
xor edx, edx
mov dword [ebp - 0x34], edx
jmp 0x45cca1
inc dword [ebp - 8]
mov edx, dword [ebp - 8]
mov edx, dword [ebx + edx*4 + 0x278]
add dword [ebp - 0x34], edx
cmp eax, dword [ebp - 0x34]
jle 0x45ccaf
mov edx, dword [ebp - 0x18]
dec edx
cmp edx, dword [ebp - 8]
jg 0x45cc91
cmp edi, dword [ebp - 8]
jge 0x45cce2
cmp ecx, dword [ebp - 0x24]
je 0x45cce2
cmp ecx, 1
je 0x45cce2
mov eax, dword [ebp - 0x24]
sub eax, ecx
and eax, 0x80000001
jns 0x45cccf
dec eax
or eax, 0xfffffffe
inc eax
dec eax
jne 0x45cce2
mov eax, dword [ebp - 8]
mov edx, dword [ebx + eax*4 + 0x278]
sub dword [ebp - 0x34], edx
dec dword [ebp - 8]
cmp dword [ebx + 0x268], 3
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x45cd2d
cmp edi, eax
jg 0x45cd11
cmp eax, dword [ebp - 8]
jg 0x45cd11
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2 - 0x102]
mov byte [edx + eax + 0x9324], 0
jmp 0x45cd27
mov edx, ecx
shl edx, 7
add edx, ecx
lea edx, [ebx + edx*2 - 0x102]
mov byte [edx + eax + 0x9324], 0xf
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x45ccf0
dec ecx
mov edi, dword [ebp - 8]
inc edi
mov eax, dword [ebp - 0x34]
sub dword [ebp - 0x30], eax
test ecx, ecx
jg 0x45cc7e
xor edx, edx
mov dword [ebp - 0x10], edx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45cd58
xor eax, eax
mov dword [ebp + esi*4 - 0x70], eax
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45cd4c
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45cd85
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x45cd7f
mov edx, esi
shl edx, 7
add edx, esi
lea ecx, [ebx + edx*8]
xor edx, edx
mov dword [ecx + eax*4 + 0xb160], edx
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x45cd66
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45cd5f
cmp dword [ebp - 0x24], 6
jne 0x45ce01
xor eax, eax
cmp eax, dword [ebp - 0x18]
jge 0x45ce01
xor ecx, ecx
mov cl, byte [ebx + eax + 0x9426]
shl ecx, 0x10
xor edx, edx
mov dl, byte [ebx + eax + 0x9324]
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc990], ecx
xor ecx, ecx
mov cl, byte [ebx + eax + 0x962a]
shl ecx, 0x10
xor edx, edx
mov dl, byte [ebx + eax + 0x9528]
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc994], ecx
xor ecx, ecx
mov cl, byte [ebx + eax + 0x982e]
shl ecx, 0x10
xor edx, edx
mov dl, byte [ebx + eax + 0x972c]
or ecx, edx
mov edx, eax
shl edx, 4
mov dword [ebx + edx + 0xc998], ecx
inc eax
cmp eax, dword [ebp - 0x18]
jl 0x45cd92
xor eax, eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
mov dword [ebp - 0xc], ecx
xor edi, edi
cmp edi, dword [ebx + 0x274]
jge 0x45deb9
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x45ce34
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45ce48
mov word [ebp + esi*2 - 0x58], 0
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45ce3b
cmp dword [ebp - 0x24], 6
jne 0x45d903
mov eax, dword [ebp - 8]
sub eax, edi
inc eax
cmp eax, 0x32
jne 0x45d903
xor ecx, ecx
mov edx, ecx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], ecx
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 2]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 4]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 6]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 8]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0xa]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0xc]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0xe]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x10]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x12]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x14]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x16]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x18]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x1a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x1c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x1e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x20]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x22]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x24]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x26]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x28]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x2a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x2c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x2e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x30]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x32]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x34]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x36]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x38]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x3a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x3c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x3e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x40]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x42]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x44]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x46]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x48]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x4a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x4c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x4e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x50]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x52]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x54]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x56]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x58]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x5a]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x5c]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x5e]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x60]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2 + 0x62]
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc990]
add dword [ebp - 0x38], ecx
movzx ecx, ax
shl ecx, 4
mov ecx, dword [ebx + ecx + 0xc994]
add dword [ebp - 0x3c], ecx
movzx eax, ax
shl eax, 4
add edx, dword [ebx + eax + 0xc998]
mov ax, word [ebp - 0x38]
and ax, 0xffff
mov word [ebp - 0x58], ax
mov ecx, dword [ebp - 0x38]
shr ecx, 0x10
mov word [ebp - 0x56], cx
mov ax, word [ebp - 0x3c]
and ax, 0xffff
mov word [ebp - 0x54], ax
mov ecx, dword [ebp - 0x3c]
shr ecx, 0x10
mov word [ebp - 0x52], cx
mov eax, edx
and ax, 0xffff
mov word [ebp - 0x50], ax
shr edx, 0x10
mov word [ebp - 0x4e], dx
jmp 0x45d94a
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x45d94a
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
mov ax, word [ecx + eax*2]
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45d93f
movzx edx, ax
mov ecx, esi
shl ecx, 7
add ecx, esi
lea ecx, [ebx + ecx*2]
movzx edx, byte [ecx + edx + 0x9324]
add word [ebp + esi*2 - 0x58], dx
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45d91f
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 8]
jle 0x45d90e
mov edx, 0x3b9ac9ff
or eax, 0xffffffff
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45d96f
movzx ecx, word [ebp + esi*2 - 0x58]
cmp edx, ecx
jle 0x45d969
movzx edx, word [ebp + esi*2 - 0x58]
mov eax, esi
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45d959
add dword [ebp - 0xc], edx
inc dword [ebp + eax*4 - 0x70]
mov edx, dword [ebp - 0x14]
mov byte [ebx + edx + 0x680], al
inc dword [ebp - 0x14]
cmp dword [ebp - 0x24], 6
jne 0x45de7f
mov ecx, dword [ebp - 8]
sub ecx, edi
inc ecx
cmp ecx, 0x32
jne 0x45de7f
mov edx, dword [ebp - 0x2c]
movzx ecx, word [edx + edi*2]
mov edx, eax
shl edx, 7
add edx, eax
lea edx, [ebx + edx*8]
inc dword [edx + ecx*4 + 0xb160]
mov ecx, dword [ebp - 0x2c]
movzx edx, word [ecx + edi*2 + 2]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 4]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 6]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 8]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0xa]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0xc]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0xe]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x10]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x12]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x14]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x16]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x18]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x1a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x1c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x1e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x20]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x22]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x24]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x26]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x28]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x2a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x2c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x2e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x30]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x32]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x34]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x36]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x38]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x3a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x3c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x3e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x40]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x42]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x44]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x46]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x48]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x4a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x4c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x4e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x50]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x52]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x54]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x56]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x58]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x5a]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x5c]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x5e]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x60]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea ecx, [ebx + ecx*8]
inc dword [ecx + edx*4 + 0xb160]
mov edx, dword [ebp - 0x2c]
movzx edx, word [edx + edi*2 + 0x62]
mov ecx, eax
shl eax, 7
add eax, ecx
lea eax, [ebx + eax*8]
inc dword [eax + edx*4 + 0xb160]
jmp 0x45deb0
mov dword [ebp - 4], edi
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 8]
jg 0x45deb0
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
movzx ecx, word [ecx + edx*2]
mov edx, eax
shl edx, 7
add edx, eax
lea edx, [ebx + edx*8]
inc dword [edx + ecx*4 + 0xb160]
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jle 0x45de8a
mov edi, dword [ebp - 8]
inc edi
jmp 0x45ce0d
cmp dword [ebx + 0x268], 3
jl 0x45decf
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45decf
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45dec9
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45df06
push 0x14
push dword [ebp - 0x18]
imul eax, esi, 0x408
add eax, ebx
add eax, 0xb160
push eax
imul edx, esi, 0x102
add edx, ebx
add edx, 0x9324
push edx
call fcn.00461374
add esp, 0x10
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45ded6
inc dword [ebp - 0x10]
cmp dword [ebp - 0x10], 4
jl 0x45cd45
cmp dword [ebp - 0x24], 8
jl 0x45df24
push 0xbba
call fcn.0045b064
pop ecx
cmp dword [ebp - 0x14], 0x8000
jge 0x45df36
cmp dword [ebp - 0x14], 0x4652
jle 0x45df41
push 0xbbb
call fcn.0045b064
pop ecx
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x24]
jge 0x45df63
mov dl, byte [ebp - 4]
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x44], dl
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x24]
jl 0x45df4e
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
jge 0x45dfb2
mov eax, dword [ebp - 4]
mov dl, byte [ebx + eax + 0x680]
mov byte [ebp - 0x45], dl
xor esi, esi
mov al, byte [ebp + esi - 0x44]
cmp al, byte [ebp - 0x45]
je 0x45df98
inc esi
mov edx, eax
mov al, byte [ebp + esi - 0x44]
mov byte [ebp + esi - 0x44], dl
cmp al, byte [ebp - 0x45]
jne 0x45df88
mov byte [ebp - 0x44], al
mov edx, esi
mov ecx, dword [ebp - 4]
mov byte [ebx + ecx + 0x4cd2], dl
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x14]
jl 0x45df70
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45e09a
mov edi, 0x20
xor eax, eax
mov dword [ebp - 0x1c], eax
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x18]
jge 0x45e042
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + ecx + 0x9324]
cmp eax, dword [ebp - 0x1c]
jle 0x45e008
mov edx, esi
shl edx, 7
add edx, esi
lea ecx, [ebx + edx*2]
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ecx + eax + 0x9324]
mov dword [ebp - 0x1c], edx
mov ecx, esi
shl ecx, 7
add ecx, esi
lea eax, [ebx + ecx*2]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + edx + 0x9324]
cmp edi, ecx
jle 0x45e037
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov ecx, dword [ebp - 4]
movzx edi, byte [edx + ecx + 0x9324]
inc dword [ebp - 4]
mov eax, dword [ebp - 4]
cmp eax, dword [ebp - 0x18]
jl 0x45dfd4
cmp dword [ebp - 0x1c], 0x14
jle 0x45e053
push 0xbbc
call fcn.0045b064
pop ecx
cmp edi, 1
jge 0x45e063
push 0xbbd
call fcn.0045b064
pop ecx
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push edi
imul edx, esi, 0x102
add edx, ebx
add edx, 0x9324
push edx
imul ecx, esi, 0x408
add ecx, ebx
add ecx, 0x9930
push ecx
call fcn.00461673
add esp, 0x14
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45dfbd
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
mov byte [ebp + edx - 0x80], 0
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x45e0c1
mov ecx, dword [ebp - 4]
mov byte [ebp + ecx - 0x80], 1
inc esi
cmp esi, 0x10
jl 0x45e0a9
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x45e09f
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x28], eax
xor edx, edx
mov dword [ebp - 4], edx
mov ecx, dword [ebp - 4]
cmp byte [ebp + ecx - 0x80], 0
je 0x45e0f4
push 1
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
jmp 0x45e101
push 0
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x45e0db
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp byte [ebp + edx - 0x80], 0
je 0x45e14d
xor esi, esi
mov eax, dword [ebp - 4]
shl eax, 4
lea edx, [ebx + eax]
cmp byte [edx + esi + 0x58], 0
je 0x45e13a
push 1
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
jmp 0x45e147
push 0
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
inc esi
cmp esi, 0x10
jl 0x45e11b
inc dword [ebp - 4]
cmp dword [ebp - 4], 0x10
jl 0x45e10f
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
push dword [ebp - 0x24]
push 3
push ebx
call fcn.0045c8e8
add esp, 0xc
push dword [ebp - 0x14]
push 0xf
push ebx
call fcn.0045c8e8
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x14]
jge 0x45e1c6
xor esi, esi
jmp 0x45e19e
push 1
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
inc esi
mov eax, dword [ebp - 4]
xor edx, edx
mov dl, byte [ebx + eax + 0x4cd2]
cmp esi, edx
jl 0x45e190
push 0
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 0x14]
jl 0x45e18c
cmp dword [ebx + 0x268], 3
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0x28], eax
xor esi, esi
cmp esi, dword [ebp - 0x24]
jge 0x45e27c
mov eax, esi
shl eax, 7
add eax, esi
movzx edi, byte [ebx + eax*2 + 0x9324]
push edi
push 5
push ebx
call fcn.0045c8e8
add esp, 0xc
xor eax, eax
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x18]
jge 0x45e272
jmp 0x45e216
push 2
push 2
push ebx
call fcn.0045c8e8
add esp, 0xc
inc edi
mov ecx, esi
shl ecx, 7
add ecx, esi
lea eax, [ebx + ecx*2]
mov edx, dword [ebp - 4]
xor ecx, ecx
mov cl, byte [eax + edx + 0x9324]
cmp edi, ecx
jl 0x45e208
jmp 0x45e240
push 3
push 2
push ebx
call fcn.0045c8e8
add esp, 0xc
dec edi
mov eax, esi
shl eax, 7
add eax, esi
lea edx, [ebx + eax*2]
mov ecx, dword [ebp - 4]
xor eax, eax
mov al, byte [edx + ecx + 0x9324]
cmp edi, eax
jg 0x45e232
push 0
push 1
push ebx
call fcn.0045c8e8
add esp, 0xc
inc dword [ebp - 4]
mov edx, dword [ebp - 4]
cmp edx, dword [ebp - 0x18]
jl 0x45e216
inc esi
cmp esi, dword [ebp - 0x24]
jl 0x45e1de
cmp dword [ebx + 0x268], 3
mov ecx, dword [ebx + 0x4c]
mov dword [ebp - 0x28], ecx
xor eax, eax
mov dword [ebp - 0x20], eax
xor edi, edi
cmp edi, dword [ebx + 0x274]
jge 0x45ea75
lea eax, [edi + 0x31]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 8]
cmp edx, dword [ebx + 0x274]
jl 0x45e2b7
mov ecx, dword [ebx + 0x274]
dec ecx
mov dword [ebp - 8], ecx
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
cmp edx, dword [ebp - 0x24]
jl 0x45e2d3
push 0xbbe
call fcn.0045b064
pop ecx
cmp dword [ebp - 0x24], 6
jne 0x45e9fa
mov ecx, dword [ebp - 8]
sub ecx, edi
inc ecx
cmp ecx, 0x32
jne 0x45e9fa
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
imul esi, edx, 0x102
add esi, ebx
add esi, 0x9324
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
imul ecx, edx, 0x408
add ecx, ebx
add ecx, 0x9930
mov dword [ebp - 0x4c], ecx
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + edi*2]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 2]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 4]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 6]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 8]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0xa]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0xc]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0xe]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x10]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x12]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x14]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x16]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x18]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x1a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x1c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x1e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x20]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x22]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x24]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x26]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x28]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x2a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x2c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x2e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x30]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x32]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x34]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x36]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x38]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x3a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x3c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x3e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x40]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x42]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x44]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x46]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x48]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x4a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x4c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x4e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x50]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x52]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x54]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x56]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x58]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x5a]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x5c]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x5e]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x60]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov ax, word [ecx + edi*2 + 0x62]
movzx edx, ax
mov ecx, dword [ebp - 0x4c]
push dword [ecx + edx*4]
movzx eax, ax
xor edx, edx
mov dl, byte [esi + eax]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
jmp 0x45ea69
mov dword [ebp - 4], edi
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jg 0x45ea69
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
movzx ecx, word [eax + edx*2]
mov eax, dword [ebp - 0x20]
xor edx, edx
mov dl, byte [ebx + eax + 0x680]
mov eax, edx
shl eax, 7
add eax, edx
lea edx, [ebx + eax*8]
push dword [edx + ecx*4 + 0x9930]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
movzx edx, word [ecx + eax*2]
mov ecx, dword [ebp - 0x20]
xor eax, eax
mov al, byte [ebx + ecx + 0x680]
mov ecx, eax
shl ecx, 7
add ecx, eax
lea eax, [ebx + ecx*2]
movzx edx, byte [eax + edx + 0x9324]
push edx
push ebx
call fcn.0045c8e8
add esp, 0xc
inc dword [ebp - 4]
mov ecx, dword [ebp - 4]
cmp ecx, dword [ebp - 8]
jle 0x45ea05
mov edi, dword [ebp - 8]
inc edi
inc dword [ebp - 0x20]
jmp 0x45e290
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x14]
je 0x45ea88
push 0xbbf
call fcn.0045b064
pop ecx
cmp dword [ebx + 0x268], 3
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret