Function at 0x425b90
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x94
mov ecx, dword [0x727a48]
mov al, byte [0x7381c6]
push ebx
push ebp
lea ebx, [ecx + 1]
push esi
test al, 1
push edi
mov dword [esp + 0x94], ebx
mov ebp, 0x100
je 0x425c59
mov al, byte [0x73693f]
test al, al
je 0x425c52
xor eax, eax
mov edi, 0x738348
mov dword [esp + 0x64], eax
mov ebp, eax
mov ecx, eax
xor esi, esi
and ebp, 4
and ecx, 2
and eax, 1
mov dword [esp + 0x28], ecx
mov dword [esp + 0x7c], eax
mov eax, esi
mov ecx, esi
shr eax, 3
and eax, 0x18
mov edx, esi
or eax, ebp
and edx, 7
shr ecx, 1
push eax
mov eax, dword [esp + 0x2c]
and ecx, 0x1c
or ecx, eax
mov eax, dword [esp + 0x80]
shl edx, 1
or edx, eax
push ecx
shl edx, 1
push edx
call dword [0x7381d0]
add esp, 0xc
mov word [edi], ax
inc esi
add edi, 2
cmp esi, 0x100
jb 0x425beb
mov eax, dword [esp + 0x64]
inc eax
cmp edi, 0x739348
mov dword [esp + 0x64], eax
jb 0x425bd4
mov ecx, dword [0x727a48]
mov byte [0x73693f], 0
mov ebp, 0x100
mov esi, 0x738348
jmp 0x425c5e
mov esi, 0x73757c
mov eax, dword [0x737bac]
mov edx, dword [esp + 0xac]
mov dword [0x737b8c], esi
mov dword [esp + 0x74], 0
mov eax, dword [eax + edx*4]
mov dword [esp + 0x80], ebp
test eax, eax
mov dword [esp + 0x88], eax
jne 0x425c98
mov dword [esp + 0x88], 1
mov eax, dword [0x737b58]
mov edx, dword [0x737ba4]
imul eax, edx
mov edi, dword [esp + 0xa8]
mov byte [esp + 0x46], 0
add edi, eax
mov eax, dword [0x737b78]
imul eax, edx
mov dword [esp + 0xa8], edi
mov edi, dword [0x737b88]
add eax, edi
mov edi, dword [0x737ba8]
mov dword [esp + 0x64], eax
lea eax, [edx + edx*2]
cmp word [eax*4 + 0x735c6a], 0
lea eax, [eax*4 + 0x735c68]
mov dword [esp + 0x4c], eax
jne 0x425d31
cmp word [eax + 4], 0
jne 0x425d31
cmp word [eax], bp
jne 0x425d31
cmp word [eax + 6], bp
jne 0x425d31
lea eax, [edi + edi*2]
shl eax, 2
cmp word [eax + 0x735c6a], 0
jne 0x425d31
cmp word [eax + 0x735c6c], 0
jne 0x425d31
cmp word [eax + 0x735c68], bp
jne 0x425d31
cmp word [eax + 0x735c6e], bp
jne 0x425d31
mov byte [esp + 0x46], 1
cmp edx, edi
mov dword [esp + 0x68], edx
ja 0x4270a5
mov eax, dword [esp + 0x68]
xor edx, edx
shl eax, 4
mov dx, word [eax + 0x734cba]
shl edx, 0x13
sar edx, 0x13
mov dword [esp + 0x78], edx
xor edx, edx
mov dx, word [eax + 0x734cb8]
mov eax, edx
mov edx, dword [esp + 0x4c]
shl eax, 0x13
movsx edi, word [edx + 8]
shl edi, 0x13
sar edi, 0x13
mov dword [esp + 0x70], edi
movsx edi, word [edx + 0xa]
shl edi, 0x13
sar eax, 0x13
sar edi, 0x13
cmp byte [0x769644], 0
mov dword [esp + 0x7c], edi
je 0x425da6
mov edx, dword [esp + 0x68]
mov ebp, 0x105
sub ebp, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x60], ebp
jmp 0x425dae
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x60], ebp
cmp byte [0x769645], 0
jne 0x425dd1
sub eax, edi
mov ebp, 0x3ff
cdq
idiv ebp
mov ebp, dword [esp + 0x60]
add ebp, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x60], ebp
jmp 0x425dd9
sub eax, edi
add ebp, eax
mov dword [esp + 0x60], ebp
mov al, byte [esp + 0x46]
mov byte [esp + 0x47], 0
test al, al
je 0x425e1e
cmp word [edx + 2], 0
jne 0x425e1e
cmp word [edx + 4], 0
jne 0x425e1e
cmp word [edx], 0x100
jne 0x425e1e
cmp word [edx + 6], 0x100
jne 0x425e1e
mov eax, dword [esp + 0x70]
add edi, ebp
shl eax, 8
shl edi, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], edi
mov byte [esp + 0x47], 1
jmp 0x425e46
movsx eax, word [edx + 2]
mov edx, dword [esp + 0x70]
imul eax, ebp
shl edx, 8
add eax, edx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x4c]
shl edi, 8
movsx eax, word [eax + 6]
imul eax, ebp
add eax, edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x90], 0
test eax, eax
jbe 0x42705d
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x74]
jmp 0x425e72
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x4c]
mov edi, dword [0x737bac]
mov ebp, dword [esp + 0xac]
cmp dword [edi + ebp*4], 0
je 0x425ebd
mov edx, dword [esp + 0x90]
lea eax, [edx + edx*2 + 3]
lea edx, [edx + edx*2 + 0x15]
lea eax, [ebp + eax*2]
lea edx, [ebp + edx*2]
mov eax, dword [edi + eax*4]
mov edi, dword [edi + edx*4]
cmp edi, eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x80], edi
jbe 0x42703f
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0xa8]
lea edi, [edi + edx*2]
mov dword [esp + 0x20], edi
mov edi, dword [esp + 0x64]
add edi, edx
cmp byte [0x769643], 0
mov dword [esp + 0x28], edi
je 0x425f10
mov ebp, dword [esp + 0x80]
mov dword [esp + 0x54], 0xffffffff
dec ebp
dec edx
mov dword [esp + 0x50], edx
mov dword [esp + 0x10], ebp
movsx edx, word [eax]
movsx eax, word [eax + 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
neg edx
mov dword [esp + 0x5c], edx
neg eax
jmp 0x425f3c
mov ebp, edx
mov edx, dword [esp + 0x80]
mov dword [esp + 0x50], edx
mov dword [esp + 0x10], ebp
movsx edx, word [eax]
movsx eax, word [eax + 4]
mov dword [esp + 0x54], 1
mov dword [esp + 0x14], edx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], eax
mov al, byte [0x769645]
test al, al
jne 0x425f63
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
sub eax, edx
mov ebp, 0x3ff
cdq
idiv ebp
mov ebp, dword [esp + 0x10]
add edx, ebp
jmp 0x425f71
mov eax, dword [esp + 0x70]
mov edx, ebp
sub edx, eax
mov eax, dword [esp + 0x78]
add edx, eax
cmp byte [esp + 0x47], 0
mov eax, dword [esp + 0x14]
je 0x425fc6
mov al, byte [0x769645]
shl edx, 8
test al, al
mov dword [esp + 0x24], edx
jne 0x42641d
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], ebp
sar eax, 8
mov ebp, dword [esp + 0x3c]
and eax, 0x3ff
mov edx, eax
and eax, 7
and edx, 0xfffffff8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x24]
shl edx, 5
add ebp, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], ebp
jmp 0x4262d3
imul eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
imul eax, edx
mov dl, byte [0x769645]
mov dword [esp + 0x2c], eax
test dl, dl
jne 0x426bbb
mov eax, dword [esp + 0x5c]
cmp eax, 0x1cc
jge 0x426765
cmp eax, 0xfffffe34
jle 0x426765
mov edx, dword [esp + 0x34]
cmp edx, 0x1cc
jge 0x426769
cmp edx, 0xfffffe34
jle 0x426769
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], ebp
cmp ebp, eax
je 0x42703f
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x3c]
add edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
add ebp, eax
mov dword [esp + 0x14], ebp
shr ebp, 8
shr edx, 8
mov dword [esp + 0x28], edx
mov eax, ebp
and edx, 0x3ff
and eax, 0x3ff
mov dword [esp + 0x10], edx
mov edx, eax
shr edx, 2
and edx, 0xfffffffe
and eax, 7
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x10]
and edx, 0xfffffff8
mov dword [esp + 0x1c], eax
shl edx, 5
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x10]
and edx, 7
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x24]
add edx, eax
xor eax, eax
mov al, byte [edx + ecx]
mov edx, dword [esp + 0x48]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x1c]
lea eax, [edx + eax*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov eax, edx
mov edx, dword [0x737bb4]
mov dword [esp + 0x10], eax
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x42671c
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42671c
mov edx, dword [esp + 0x54]
lea eax, [edx + ebp]
mov ebp, dword [esp + 0x28]
add edx, ebp
mov ebp, dword [0x737bb0]
and edx, 0x3ff
and eax, 0x3ff
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x10]
and edx, ebp
xor ebp, ebp
mov bp, word [esi + edx*2]
mov edx, eax
shr edx, 2
and eax, 7
and edx, 0xfffffffe
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x40], edx
add edx, eax
xor eax, eax
mov al, byte [edx + ecx]
mov edx, dword [esp + 0x48]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x10]
lea eax, [edx + eax*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov eax, dword [0x737bb0]
and edx, eax
xor eax, eax
mov ax, word [esi + edx*2]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x24], eax
mov eax, edx
and al, 0xf8
and edx, 7
shl eax, 5
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], eax
add eax, edx
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x48]
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x10]
lea edx, [eax + edx*8]
xor eax, eax
mov al, byte [ebx + edx*2]
mov edx, eax
mov eax, dword [0x737bb0]
and edx, eax
xor eax, eax
mov ax, word [esi + edx*2]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
add eax, edx
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x48]
lea ecx, [eax + edx*8]
mov edx, dword [esp + 0x1c]
lea eax, [edx + ecx*8]
mov edx, dword [esp + 0x2c]
xor ecx, ecx
mov cl, byte [ebx + eax*2]
mov ebx, dword [0x737bb0]
and ecx, ebx
xor eax, eax
shr edx, 3
mov ax, word [esi + ecx*2]
mov ecx, dword [esp + 0x14]
shr ecx, 3
and edx, 0x1f
and ecx, 0x1f
mov esi, edx
mov dword [esp + 0x40], eax
imul esi, ecx
shr esi, 5
mov ebx, dword [0x4ac2a0]
mov eax, ebp
and ebp, dword [0x7c5f38]
and eax, ebx
shl eax, 0x10
or eax, ebp
mov ebp, esi
sub ebp, edx
sub edx, esi
sub ebp, ecx
sub ecx, esi
add ebp, 0x20
imul eax, ebp
mov ebp, dword [esp + 0x24]
and ebp, ebx
mov ebx, dword [esp + 0x24]
and ebx, dword [0x7c5f38]
shl ebp, 0x10
or ebp, ebx
mov ebx, dword [0x4ac2a0]
imul ebp, ecx
mov ecx, dword [esp + 0x40]
add eax, ebp
mov ebp, ecx
and ebp, ebx
mov ebx, dword [0x7c5f38]
shl ebp, 0x10
and ecx, ebx
or ebp, ecx
mov ecx, dword [esp + 0x10]
imul ebp, edx
mov edx, dword [0x4ac2a0]
add eax, ebp
mov ebp, ecx
and ecx, ebx
and ebp, edx
shl ebp, 0x10
or ebp, ecx
imul ebp, esi
add eax, ebp
shr eax, 5
mov ecx, eax
and ebx, eax
shr ecx, 0x10
and ecx, edx
mov edx, dword [0x737b90]
or ecx, ebx
mov al, byte [edx + edi]
test al, al
je 0x4266f4
cmp al, 1
je 0x4266c1
mov edx, dword [0x737b5c]
mov esi, dword [esp + 0x20]
xor eax, eax
and ecx, 0xffff
mov ax, word [esi + edx*2]
mov edx, dword [0x7273ec]
mov esi, ecx
mov ebx, eax
and esi, edx
and ebx, edx
mov edx, dword [0x4ac290]
add esi, ebx
and ecx, eax
mov eax, dword [0x737b60]
shr esi, 1
and ecx, edx
add esi, ecx
mov cx, word [eax + esi*2]
jmp 0x4266f4
mov edx, dword [esp + 0x28]
sar ebp, 8
and ebp, 0x3ff
mov eax, ebp
and ebp, 7
sar eax, 2
and al, 0xfe
add eax, edx
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x1c]
lea edx, [eax + edx*8]
lea eax, [ebp + edx*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov ebp, edx
mov edx, dword [0x737bb4]
mov eax, ebp
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x4263e4
test ebp, ebp
je 0x4263e4
mov eax, dword [0x737b90]
mov edx, dword [0x737bb0]
and ebp, edx
mov al, byte [eax + edi]
mov si, word [esi + ebp*2]
test al, al
je 0x4263c0
cmp al, 1
je 0x426389
mov edx, dword [0x737b5c]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cx, word [eax + edx*2]
mov edx, dword [0x7273ec]
mov eax, esi
mov ebp, ecx
and eax, 0xffff
and ebp, edx
mov esi, eax
and eax, ecx
mov ecx, dword [0x737b60]
and esi, edx
mov edx, dword [0x4ac290]
add esi, ebp
shr esi, 1
and eax, edx
add esi, eax
mov ax, word [ecx + esi*2]
jmp 0x4263c2
mov edx, dword [0x737b98]
mov ecx, dword [0x7273ec]
mov eax, esi
mov ebp, edx
and eax, 0xffff
and ebp, ecx
mov esi, eax
and eax, edx
mov edx, dword [0x4ac290]
and esi, ecx
add esi, ebp
and eax, edx
mov edx, dword [0x737b60]
shr esi, 1
add esi, eax
mov ax, word [edx + esi*2]
jmp 0x4263c2
mov eax, esi
mov ecx, dword [0x7c5f34]
mov edx, dword [esp + 0x20]
or ecx, eax
mov word [edx], cx
mov al, byte [0x737b94]
mov byte [edi], al
mov ecx, dword [0x727a48]
mov esi, dword [0x737b8c]
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
add edx, 2
add ebp, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x54]
add eax, edx
mov edx, dword [esp + 0x50]
inc edi
cmp eax, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x18], eax
jne 0x4262cf
jmp 0x42703f
mov eax, dword [esp + 0x38]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x3c]
sar eax, 8
add edx, ebp
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], edx
jmp 0x42643c
mov eax, dword [esp + 0x28]
mov ebp, edx
mov dl, byte [0x73833f]
sar ebp, 8
test dl, dl
mov dword [esp + 0x24], ebp
mov dword [esp + 0x34], eax
je 0x42646f
cmp byte [0x769645], 2
jne 0x42646f
and ebp, 0x7ff
and eax, 0x7ff
mov dword [esp + 0x24], ebp
mov dword [esp + 0x34], eax
mov edx, eax
or edx, ebp
test edx, 0xfffffc00
jne 0x426545
and al, 0xf8
mov edx, ecx
shl eax, 5
sar ebp, 2
and ebp, 0xfffffffe
add edx, eax
xor eax, eax
mov al, byte [edx + ebp]
mov edx, eax
mov eax, dword [esp + 0x34]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x24]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov ebp, edx
mov edx, dword [0x737bb4]
mov eax, ebp
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x426688
test ebp, ebp
je 0x426688
mov eax, dword [0x737b90]
mov edx, dword [0x737bb0]
and ebp, edx
mov al, byte [eax + edi]
mov si, word [esi + ebp*2]
test al, al
je 0x426664
cmp al, 1
je 0x42662d
mov edx, dword [0x737b5c]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cx, word [eax + edx*2]
mov edx, dword [0x7273ec]
mov eax, esi
mov ebp, ecx
and eax, 0xffff
and ebp, edx
mov esi, eax
and eax, ecx
mov ecx, dword [0x737b60]
and esi, edx
mov edx, dword [0x4ac290]
add esi, ebp
shr esi, 1
and eax, edx
add esi, eax
mov ax, word [ecx + esi*2]
jmp 0x426666
cmp byte [0x769645], 3
jne 0x426688
mov edx, dword [esp + 0x78]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x7c]
add eax, edx
mov edx, dword [esp + 0x60]
and eax, 7
add edx, ebp
mov dword [esp + 0x24], eax
and edx, 7
mov ebp, ecx
mov dword [esp + 0x34], edx
and edx, 0xfffffff8
shl edx, 5
sar eax, 2
and al, 0xfe
add ebp, edx
xor edx, edx
mov dl, byte [eax + ebp]
mov eax, dword [esp + 0x34]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x24]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov ebp, edx
mov edx, dword [0x737bb4]
mov eax, ebp
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x426688
test ebp, ebp
je 0x426688
mov eax, dword [0x737b90]
mov edx, dword [0x737bb0]
and ebp, edx
mov al, byte [eax + edi]
mov si, word [esi + ebp*2]
test al, al
je 0x426664
cmp al, 1
je 0x42662d
mov edx, dword [0x737b5c]
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov cx, word [eax + edx*2]
mov edx, dword [0x7273ec]
mov eax, esi
mov ebp, ecx
and eax, 0xffff
and ebp, edx
mov esi, eax
and eax, ecx
mov ecx, dword [0x737b60]
and esi, edx
mov edx, dword [0x4ac290]
add esi, ebp
shr esi, 1
and eax, edx
add esi, eax
mov ax, word [ecx + esi*2]
jmp 0x426666
mov edx, dword [0x737b98]
mov ecx, dword [0x7273ec]
mov eax, esi
mov ebp, edx
and eax, 0xffff
and ebp, ecx
mov esi, eax
and eax, edx
mov edx, dword [0x4ac290]
and esi, ecx
add esi, ebp
and eax, edx
mov edx, dword [0x737b60]
shr esi, 1
add esi, eax
mov ax, word [edx + esi*2]
jmp 0x426666
mov eax, esi
mov ecx, dword [0x7c5f34]
mov edx, dword [esp + 0x20]
or ecx, eax
mov word [edx], cx
mov al, byte [0x737b94]
mov byte [edi], al
mov ecx, dword [0x727a48]
mov esi, dword [0x737b8c]
mov ebp, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
add ebp, 2
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x54]
add eax, ebp
mov ebp, dword [esp + 0x50]
inc edi
cmp eax, ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jne 0x426438
jmp 0x42703f
mov edx, dword [0x737b98]
mov eax, dword [0x7273ec]
and ecx, 0xffff
mov ebx, edx
mov esi, ecx
and ebx, eax
and esi, eax
and ecx, edx
mov edx, dword [0x4ac290]
add esi, ebx
shr esi, 1
and ecx, edx
add esi, ecx
mov ecx, dword [0x737b60]
mov cx, word [ecx + esi*2]
mov eax, dword [0x7c5f34]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x94]
or ecx, eax
mov word [edx], cx
mov al, byte [0x737b94]
mov byte [edi], al
mov ecx, dword [0x727a48]
mov esi, dword [0x737b8c]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x34]
add ebp, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x14]
add ebp, edx
mov edx, dword [esp + 0x2c]
add edx, eax
mov eax, dword [esp + 0x20]
add eax, 2
inc edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x50]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x2c], edx
jne 0x426048
jmp 0x42703f
mov edx, dword [esp + 0x34]
sar eax, 1
mov dword [esp + 0x18], eax
mov eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x10], ebp
mov dx, word [eax + 2]
mov ax, word [eax + 6]
sar dx, 1
sar ax, 1
movsx edx, dx
movsx eax, ax
mov dword [esp + 0x40], edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
shr edx, 1
sub eax, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x38]
shr edx, 1
sub eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x18]
shr eax, 1
sub edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
shr edx, 1
sub eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x18]
add eax, edx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x40]
add edx, eax
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x18]
add eax, edx
mov edx, dword [esp + 0x3c]
add eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x14]
add eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
add edx, eax
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x14]
add edx, eax
mov eax, dword [esp + 0x38]
add edx, eax
mov eax, dword [esp + 0x50]
cmp ebp, eax
je 0x42703f
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x18]
add ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x30]
add eax, ebp
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x38]
sub eax, ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x40]
sub eax, ebp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x28]
sub eax, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x1c]
sub eax, ebp
sub edx, ebp
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0xa0]
add eax, ebp
mov ebp, dword [esp + 0x9c]
sar eax, 8
add edx, ebp
and eax, 0x3ff
sar edx, 8
mov dword [esp + 0x28], eax
and edx, 0x3ff
shr eax, 2
mov dword [esp + 0x40], edx
and al, 0xfe
and edx, 0xfffffff8
mov ebp, ecx
shl edx, 5
add ebp, eax
xor eax, eax
mov al, byte [edx + ebp]
mov edx, eax
mov eax, dword [esp + 0x40]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x28]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov ebp, edx
mov edx, dword [0x737bb4]
mov eax, ebp
mov dword [esp + 0x58], ebp
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x426b72
test ebp, ebp
je 0x426b72
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x14]
mov eax, edx
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x18], eax
mov eax, ebp
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x98]
add eax, edx
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x84]
add eax, ebp
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x8c]
add eax, edx
mov edx, dword [esp + 0x6c]
shr eax, 8
add edx, ebp
and eax, 0x3ff
shr edx, 8
mov dword [esp + 0x28], eax
and edx, 0x3ff
shr eax, 2
mov dword [esp + 0x40], edx
and al, 0xfe
and edx, 0xfffffff8
mov ebp, ecx
shl edx, 5
add ebp, eax
xor eax, eax
mov al, byte [edx + ebp]
mov ebp, ecx
mov edx, eax
mov eax, dword [esp + 0x40]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x28]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov eax, dword [0x737bb0]
and edx, eax
xor eax, eax
mov ax, word [esi + edx*2]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x30]
shr eax, 2
and al, 0xfe
and edx, 0xfffffff8
shl edx, 5
add ebp, eax
xor eax, eax
mov al, byte [edx + ebp]
mov ebp, dword [0x737bb0]
mov edx, eax
mov eax, dword [esp + 0x1c]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x30]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov eax, dword [esp + 0x18]
and edx, ebp
xor ebp, ebp
shr eax, 2
mov bp, word [esi + edx*2]
mov edx, dword [esp + 0x48]
and edx, 0xfffffff8
and al, 0xfe
shl edx, 5
add ecx, eax
xor eax, eax
mov al, byte [edx + ecx]
mov ecx, eax
mov eax, dword [esp + 0x48]
and eax, 7
lea edx, [eax + ecx*8]
mov eax, dword [esp + 0x18]
and eax, 7
xor ecx, ecx
lea eax, [eax + edx*8]
mov cl, byte [ebx + eax*2]
mov eax, dword [0x737bb0]
mov edx, ecx
xor ecx, ecx
and edx, eax
mov cx, word [esi + edx*2]
mov edx, dword [esp + 0x58]
and edx, eax
xor eax, eax
mov ax, word [esi + edx*2]
mov edx, dword [0x7c5f3c]
mov esi, ecx
mov dword [esp + 0x58], eax
and eax, edx
and esi, edx
add eax, esi
mov esi, ebp
and esi, edx
add eax, esi
mov esi, dword [esp + 0x24]
and esi, edx
add eax, esi
mov esi, dword [0x7c5f40]
shr eax, 2
and eax, edx
mov edx, dword [esp + 0x58]
shr edx, 2
and edx, esi
shr ecx, 2
add eax, edx
and ecx, esi
add eax, ecx
mov ecx, dword [esp + 0x24]
shr ebp, 2
and ebp, esi
shr ecx, 2
add eax, ebp
and ecx, esi
add eax, ecx
mov ecx, dword [0x737b90]
mov cl, byte [ecx + edi]
test cl, cl
je 0x426b50
cmp cl, 1
je 0x426b1d
mov edx, dword [0x737b5c]
mov esi, dword [esp + 0x20]
xor ecx, ecx
and eax, 0xffff
mov cx, word [esi + edx*2]
mov edx, dword [0x7273ec]
mov esi, ecx
mov ebp, eax
and esi, edx
and ebp, edx
mov edx, dword [0x4ac290]
add esi, ebp
and eax, ecx
shr esi, 1
and eax, edx
add esi, eax
mov eax, dword [0x737b60]
mov ax, word [eax + esi*2]
jmp 0x426b50
mov ecx, dword [0x737b98]
mov edx, dword [0x7273ec]
and eax, 0xffff
mov esi, ecx
mov ebp, eax
and esi, edx
and ebp, edx
mov edx, dword [0x4ac290]
add esi, ebp
and eax, ecx
mov ecx, dword [0x737b60]
and eax, edx
shr esi, 1
add esi, eax
mov ax, word [ecx + esi*2]
mov ecx, dword [0x7c5f34]
mov edx, dword [esp + 0x20]
or eax, ecx
mov word [edx], ax
mov al, byte [0x737b94]
mov byte [edi], al
mov ecx, dword [0x727a48]
mov esi, dword [0x737b8c]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
add ebp, edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x34]
add eax, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
add edx, ebp
mov ebp, dword [esp + 0x20]
add ebp, 2
inc edi
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x10]
cmp ebp, dword [esp + 0x50]
mov dword [esp + 0x14], edx
jne 0x4268a6
jmp 0x42703f
mov edx, dword [esp + 0x50]
mov dword [esp + 0x2c], ebp
cmp ebp, edx
je 0x42703f
mov edx, dword [esp + 0x38]
lea ebp, [eax + edx]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x18], ebp
add eax, edx
mov dword [esp + 0x10], eax
mov dl, byte [0x73833f]
shr eax, 8
shr ebp, 8
test dl, dl
mov dword [esp + 0x58], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x14], eax
je 0x426c18
cmp byte [0x769645], 2
jne 0x426c18
and eax, 0x7ff
and ebp, 0x7ff
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x14]
mov eax, ebp
or eax, edx
test eax, 0xfffffc00
jne 0x426ee3
mov eax, edx
mov edx, ebp
and edx, 0xfffffff8
and ebp, 7
shr eax, 2
shl edx, 5
and al, 0xfe
mov dword [esp + 0x6c], edx
mov dword [esp + 0x8c], eax
add edx, eax
xor eax, eax
mov dword [esp + 0x30], ebp
mov al, byte [edx + ecx]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
and ebp, 7
lea eax, [edx + eax*8]
mov dword [esp + 0x84], ebp
lea edx, [ebp + eax*8]
xor eax, eax
mov al, byte [ebx + edx*2]
mov ebp, eax
mov eax, dword [0x737bb4]
mov edx, ebp
shr edx, 7
shr eax, 7
and edx, eax
mov al, byte [edx + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x426ff7
test ebp, ebp
je 0x426ff7
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0x54]
mov edi, dword [esp + 0x1c]
add edx, eax
add eax, edi
and edx, 0x3ff
and eax, 0x3ff
xor edi, edi
mov dword [esp + 0x1c], eax
mov eax, dword [0x737bb0]
and ebp, eax
mov eax, edx
and edx, 7
mov di, word [esi + ebp*2]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x6c]
shr eax, 2
and al, 0xfe
lea ebp, [eax + edx]
xor edx, edx
mov dl, byte [ecx + ebp]
mov ebp, dword [esp + 0x30]
lea edx, [ebp + edx*8]
mov ebp, dword [esp + 0x48]
lea ebp, [ebp + edx*8]
xor edx, edx
mov dl, byte [ebx + ebp*2]
mov ebp, dword [0x737bb0]
and edx, ebp
xor ebp, ebp
mov bp, word [esi + edx*2]
mov edx, dword [esp + 0x1c]
and edx, 0xfffffff8
shl edx, 5
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x1c]
and edx, 7
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x30]
add edx, eax
xor eax, eax
mov al, byte [edx + ecx]
mov edx, dword [esp + 0x1c]
lea eax, [edx + eax*8]
mov edx, dword [esp + 0x48]
lea eax, [edx + eax*8]
xor edx, edx
mov dl, byte [ebx + eax*2]
mov eax, dword [0x737bb0]
and edx, eax
xor eax, eax
mov ax, word [esi + edx*2]
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x30]
add eax, edx
xor edx, edx
mov dl, byte [eax + ecx]
mov eax, dword [esp + 0x1c]
lea ecx, [eax + edx*8]
mov edx, dword [esp + 0x84]
lea eax, [edx + ecx*8]
mov edx, dword [esp + 0x18]
xor ecx, ecx
mov cl, byte [ebx + eax*2]
mov ebx, dword [0x737bb0]
and ecx, ebx
xor eax, eax
shr edx, 3
mov ax, word [esi + ecx*2]
mov ecx, dword [esp + 0x10]
shr ecx, 3
and edx, 0x1f
and ecx, 0x1f
mov esi, edx
mov ebx, dword [0x4ac2a0]
imul esi, ecx
mov dword [esp + 0x1c], eax
mov eax, edi
shr esi, 5
and eax, ebx
and edi, dword [0x7c5f38]
shl eax, 0x10
or eax, edi
mov edi, esi
sub edi, edx
sub edx, esi
sub edi, ecx
sub ecx, esi
add edi, 0x20
imul eax, edi
mov edi, dword [esp + 0x1c]
and edi, ebx
mov ebx, dword [0x7c5f38]
shl edi, 0x10
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x1c]
and edi, ebx
mov ebx, dword [esp + 0x58]
or ebx, edi
mov edi, dword [0x4ac2a0]
imul ebx, edx
mov edx, dword [0x7c5f38]
add eax, ebx
mov ebx, ebp
and ebp, edx
and ebx, edi
shl ebx, 0x10
or ebx, ebp
imul ebx, ecx
mov ecx, dword [esp + 0x6c]
add eax, ebx
mov ebx, ecx
and ecx, edx
and ebx, edi
shl ebx, 0x10
or ebx, ecx
imul ebx, esi
add eax, ebx
shr eax, 5
mov ecx, eax
and edx, eax
shr ecx, 0x10
and ecx, edi
mov edi, dword [esp + 0x28]
or ecx, edx
mov edx, dword [0x737b90]
mov al, byte [edx + edi]
test al, al
je 0x426eb4
cmp al, 1
je 0x426e81
mov edx, dword [0x737b5c]
mov esi, dword [esp + 0x20]
xor eax, eax
and ecx, 0xffff
mov ax, word [esi + edx*2]
mov edx, dword [0x7273ec]
mov esi, eax
mov ebx, ecx
and esi, edx
and ebx, edx
mov edx, dword [0x4ac290]
add esi, ebx
and ecx, eax
mov eax, dword [0x737b60]
shr esi, 1
and ecx, edx
add esi, ecx
mov cx, word [eax + esi*2]
jmp 0x426eb4
mov eax, dword [0x737b98]
mov edx, dword [0x7273ec]
and ecx, 0xffff
mov esi, eax
mov ebx, ecx
and esi, edx
and ebx, edx
mov edx, dword [0x4ac290]
add esi, ebx
and ecx, eax
shr esi, 1
and ecx, edx
add esi, ecx
mov ecx, dword [0x737b60]
mov cx, word [ecx + esi*2]
mov edx, dword [0x7c5f34]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x94]
or edx, ecx
mov word [eax], dx
mov cl, byte [0x737b94]
mov byte [edi], cl
mov ecx, dword [0x727a48]
mov esi, dword [0x737b8c]
jmp 0x426ff7
cmp byte [0x769645], 3
jne 0x426ff7
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x60]
mov ebp, dword [esp + 0x2c]
add eax, edx
mov edx, dword [esp + 0x78]
and eax, 7
add ebp, edx
xor edx, edx
and ebp, 7
lea eax, [ebp + eax*8]
mov dl, byte [ebx + eax*2]
mov ebp, edx
mov edx, dword [0x737bb4]
mov eax, ebp
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [edi]
cmp al, dl
jbe 0x426ff7
test ebp, ebp
je 0x426ff7
mov eax, dword [0x737b90]
mov edx, dword [0x737bb0]
and ebp, edx
mov al, byte [eax + edi]
mov si, word [esi + ebp*2]
test al, al
je 0x426fd2
cmp al, 1
je 0x426f9d
mov ecx, dword [0x737b5c]
mov edx, dword [esp + 0x20]
mov ebp, dword [0x4ac290]
xor eax, eax
mov ax, word [edx + ecx*2]
mov edx, dword [0x7273ec]
mov ecx, esi
mov esi, eax
and ecx, 0xffff
and esi, edx
and edx, ecx
and eax, ebp
add esi, edx
and eax, ecx
shr esi, 1
add esi, eax
mov eax, dword [0x737b60]
mov ax, word [eax + esi*2]
jmp 0x426fd4
mov eax, dword [0x737b98]
mov edx, dword [0x7273ec]
mov ebp, dword [0x4ac290]
mov ecx, esi
mov esi, eax
and ecx, 0xffff
and esi, edx
and edx, ecx
add esi, edx
and eax, ebp
shr esi, 1
and eax, ecx
mov ecx, dword [0x737b60]
add esi, eax
mov ax, word [ecx + esi*2]
jmp 0x426fd4
mov eax, esi
mov edx, dword [0x7c5f34]
or edx, eax
mov eax, dword [esp + 0x20]
mov word [eax], dx
mov cl, byte [0x737b94]
mov byte [edi], cl
mov ecx, dword [0x727a48]
mov esi, dword [0x737b8c]
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x2c]
mov ebp, dword [esp + 0x5c]
add eax, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x10]
add eax, ebp
mov ebp, dword [esp + 0x18]
add ebp, edx
mov edx, dword [esp + 0x20]
add edx, 2
inc edi
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x2c]
cmp edx, dword [esp + 0x50]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x28], edi
jne 0x426be4
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
inc eax
cmp eax, edx
mov dword [esp + 0x90], eax
jb 0x425e6a
mov edx, dword [0x737b58]
mov edi, dword [esp + 0xa8]
mov ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x68]
add edi, edx
mov edx, dword [0x737b78]
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0x4c]
add ebp, edx
mov edx, dword [0x737ba8]
inc eax
add edi, 0xc
cmp eax, edx
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x4c], edi
jbe 0x425d3d
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x94
ret