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

Disassembly:
mov al, byte [0x7381c6]
sub esp, 0xa0
test al, 1
push ebx
push ebp
push esi
mov esi, dword [0x727a48]
push edi
lea edi, [esi + 1]
je 0x424aab
mov al, byte [0x73693f]
test al, al
je 0x424aa4
xor eax, eax
mov ebx, 0x738348
mov dword [esp + 0x6c], eax
mov ebp, eax
mov ecx, eax
xor esi, esi
and ebp, 4
and ecx, 2
and eax, 1
mov dword [esp + 0x74], ecx
mov dword [esp + 0x80], 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 + 0x78]
and ecx, 0x1c
or ecx, eax
mov eax, dword [esp + 0x84]
shl edx, 1
or edx, eax
push ecx
shl edx, 1
push edx
call dword [0x7381d0]
add esp, 0xc
mov word [ebx], ax
inc esi
add ebx, 2
cmp esi, 0x100
jb 0x424a42
mov eax, dword [esp + 0x6c]
inc eax
cmp ebx, 0x739348
mov dword [esp + 0x6c], eax
jb 0x424a28
mov esi, dword [0x727a48]
mov byte [0x73693f], 0
mov ecx, 0x738348
jmp 0x424ab0
mov ecx, 0x73757c
mov eax, dword [0x737bac]
mov edx, dword [esp + 0xb8]
mov dword [0x737b8c], ecx
mov dword [esp + 0xac], 0
mov eax, dword [eax + edx*4]
mov dword [esp + 0x90], 0x100
test eax, eax
mov dword [esp + 0x9c], eax
jne 0x424af1
mov dword [esp + 0x9c], 1
mov eax, dword [0x737b58]
mov edx, dword [0x737ba4]
imul eax, edx
mov ebp, dword [esp + 0xb4]
mov ebx, dword [0x737b88]
add ebp, eax
mov eax, dword [0x737b78]
imul eax, edx
add eax, ebx
mov ebx, dword [0x737ba8]
mov dword [esp + 0x6c], eax
lea eax, [edx + edx*2]
mov dword [esp + 0xb4], ebp
mov byte [esp + 0x33], 0
cmp word [eax*4 + 0x735c6a], 0
lea ebp, [eax*4 + 0x735c68]
mov dword [esp + 0x48], ebp
jne 0x424b93
cmp word [ebp + 4], 0
jne 0x424b93
cmp word [ebp], 0x100
jne 0x424b93
cmp word [ebp + 6], 0x100
jne 0x424b93
lea eax, [ebx + ebx*2]
shl eax, 2
cmp word [eax + 0x735c6a], 0
jne 0x424b93
cmp word [eax + 0x735c6c], 0
jne 0x424b93
cmp word [eax + 0x735c68], 0x100
jne 0x424b93
cmp word [eax + 0x735c6e], 0x100
jne 0x424b93
mov byte [esp + 0x33], 1
cmp edx, ebx
mov dword [esp + 0xa4], edx
ja 0x425b7b
mov ebx, edx
mov eax, 0x105
shl ebx, 4
sub eax, edx
add ebx, 0x734cb8
mov dword [esp + 0x94], eax
mov dword [esp + 0xa8], ebx
jmp 0x424bd6
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa8]
xor eax, eax
mov ax, word [ebx + 2]
shl eax, 0x13
sar eax, 0x13
mov dword [esp + 0x7c], eax
xor eax, eax
mov ax, word [ebx]
movsx ebx, word [ebp + 8]
shl ebx, 0x13
sar ebx, 0x13
mov dword [esp + 0x78], ebx
movsx ebx, word [ebp + 0xa]
shl eax, 0x13
shl ebx, 0x13
sar eax, 0x13
sar ebx, 0x13
cmp byte [0x769644], 0
mov dword [esp + 0x80], ebx
je 0x424c20
mov edx, dword [esp + 0x94]
mov dword [esp + 0x40], edx
mov dl, byte [0x769645]
test dl, dl
jne 0x424c48
sub eax, ebx
mov ebp, 0x3ff
cdq
idiv ebp
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x48]
add eax, edx
mov dword [esp + 0x40], eax
jmp 0x424c54
mov edx, dword [esp + 0x40]
sub eax, ebx
add edx, eax
mov dword [esp + 0x40], edx
mov al, byte [esp + 0x33]
mov byte [esp + 0x3b], 0
test al, al
je 0x424c9e
cmp word [ebp + 2], 0
jne 0x424c9e
cmp word [ebp + 4], 0
jne 0x424c9e
cmp word [ebp], 0x100
jne 0x424c9e
cmp word [ebp + 6], 0x100
jne 0x424c9e
mov eax, dword [esp + 0x78]
mov byte [esp + 0x3b], 1
shl eax, 8
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x40]
add ebx, eax
shl ebx, 8
mov dword [esp + 0x34], ebx
jmp 0x424cc6
movsx eax, word [ebp + 2]
imul eax, dword [esp + 0x40]
mov edx, dword [esp + 0x78]
shl edx, 8
add eax, edx
mov dword [esp + 0x2c], eax
movsx eax, word [ebp + 6]
imul eax, dword [esp + 0x40]
shl ebx, 8
add eax, ebx
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x9c]
test eax, eax
jbe 0x425b0d
mov eax, dword [esp + 0xb8]
lea edx, [eax*4 + 0xa8]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x84], edx
mov dword [esp + 0x74], eax
jmp 0x424cfe
mov edx, dword [esp + 0x84]
mov eax, dword [0x737bac]
mov ebx, dword [esp + 0xb8]
cmp dword [eax + ebx*4], 0
je 0x424d30
mov ebx, dword [edx + eax - 0x90]
mov eax, dword [edx + eax]
cmp eax, ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0x90], eax
jbe 0x425aed
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0xac]
lea edx, [edx + eax*2]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x6c]
lea ebx, [edx + eax]
mov dl, byte [0x769643]
test dl, dl
mov dword [esp + 0x44], ebx
je 0x424d94
mov edx, dword [esp + 0x90]
dec eax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
lea ebp, [edx - 1]
mov dword [esp + 0x5c], 0xffffffff
movsx eax, word [eax]
mov edx, eax
mov dword [esp + 0x10], ebp
neg edx
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x14], eax
movsx edx, word [edx + 4]
neg edx
jmp 0x424dc0
mov edx, dword [esp + 0x48]
mov ebp, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x5c], 1
movsx eax, word [edx]
movsx edx, word [edx + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0x3c], edx
mov dl, byte [0x769645]
test dl, dl
jne 0x424dec
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
sub eax, edx
mov ebp, 0x3ff
cdq
idiv ebp
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add edx, ebp
jmp 0x424df6
mov edx, ebp
sub edx, dword [esp + 0x78]
add edx, dword [esp + 0x7c]
cmp byte [esp + 0x3b], 0
je 0x424e47
mov al, byte [0x769645]
shl edx, 8
test al, al
mov dword [esp + 0x24], edx
jne 0x42520c
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], ebp
sar eax, 8
mov ebp, dword [esp + 0x2c]
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 + 0x20], edx
mov dword [esp + 0x10], ebp
jmp 0x425156
imul eax, edx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
movsx eax, word [eax + 4]
imul edx, eax
mov al, byte [0x769645]
mov dword [esp + 0x18], edx
test al, al
jne 0x425788
mov eax, dword [esp + 0x64]
cmp eax, 0x1cc
jge 0x4253b8
cmp eax, 0xfffffe34
jle 0x4253b8
mov edx, dword [esp + 0x3c]
cmp edx, 0x1cc
jge 0x4253bc
cmp edx, 0xfffffe34
jle 0x4253bc
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], ebp
cmp ebp, eax
je 0x425aed
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x2c]
add edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x18], edx
add eax, ebp
mov dword [esp + 0x14], eax
shr eax, 8
mov dword [esp + 0x1c], eax
and eax, 0x3ff
mov ebp, eax
and eax, 7
shr edx, 8
shr ebp, 2
mov dword [esp + 0x24], edx
and ebp, 0xfffffffe
and edx, 0x3ff
mov dword [esp + 0x60], ebp
mov ebp, edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
and ebp, 0xfffffff8
shl ebp, 5
mov dword [esp + 0x68], ebp
add ebp, eax
xor eax, eax
and edx, 7
mov al, byte [esi + ebp]
mov dword [esp + 0x58], edx
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x20]
lea edx, [eax + edx*8]
xor eax, eax
mov al, byte [edi + 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 [ebx]
cmp al, dl
jbe 0x425105
test ebp, ebp
je 0x425105
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x24]
add eax, edx
mov edx, dword [esp + 0x68]
and eax, 0x3ff
and ebx, 0x3ff
mov dword [esp + 0x1c], eax
mov eax, dword [0x737bb0]
and ebp, eax
xor eax, eax
mov ax, word [ecx + ebp*2]
mov ebp, ebx
shr ebp, 2
and ebp, 0xfffffffe
and ebx, 7
mov dword [esp + 0x24], ebx
add edx, ebp
xor ebx, ebx
mov dword [esp + 0x4c], eax
mov bl, byte [edx + esi]
mov edx, dword [esp + 0x58]
lea edx, [edx + ebx*8]
mov ebx, dword [esp + 0x24]
lea edx, [ebx + edx*8]
xor ebx, ebx
mov bl, byte [edi + edx*2]
mov edx, dword [0x737bb0]
and ebx, edx
xor edx, edx
mov dx, word [ecx + ebx*2]
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x68], edx
mov edx, ebx
and edx, 0xfffffff8
and ebx, 7
shl edx, 5
mov dword [esp + 0x1c], ebx
add ebp, edx
xor ebx, ebx
mov bl, byte [esi + ebp]
mov ebp, dword [esp + 0x1c]
lea ebx, [ebp + ebx*8]
mov ebp, dword [esp + 0x24]
lea ebp, [ebp + ebx*8]
xor ebx, ebx
mov bl, byte [edi + ebp*2]
mov ebp, ebx
mov ebx, dword [0x737bb0]
and ebp, ebx
xor ebx, ebx
mov bx, word [ecx + ebp*2]
mov ebp, dword [0x4ac2a0]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x60]
add edx, ebx
xor ebx, ebx
mov bl, byte [edx + esi]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
lea edx, [edx + ebx*8]
xor ebx, ebx
lea edx, [esi + edx*8]
mov bl, byte [edi + edx*2]
mov edx, ebx
mov ebx, dword [0x737bb0]
and edx, ebx
xor ebx, ebx
mov bx, word [ecx + edx*2]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ebx
shr edx, 3
shr ecx, 3
and edx, 0x1f
and ecx, 0x1f
mov esi, edx
imul esi, ecx
shr esi, 5
and eax, ebp
mov ebp, dword [esp + 0x4c]
and ebp, dword [0x7c5f38]
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, ebx
mov ebx, dword [0x4ac2a0]
and ebp, ebx
mov ebx, dword [esp + 0x58]
and ebx, dword [0x7c5f38]
shl ebp, 0x10
or ebp, ebx
mov ebx, dword [0x4ac2a0]
imul ebp, edx
mov edx, dword [esp + 0x68]
add eax, ebp
mov ebp, edx
and ebp, ebx
mov ebx, dword [0x7c5f38]
shl ebp, 0x10
and edx, ebx
or ebp, edx
mov edx, dword [0x4ac2a0]
imul ebp, ecx
mov ecx, dword [esp + 0x24]
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 eax, ebx
shr ecx, 0x10
mov ebx, dword [esp + 0x44]
and ecx, edx
mov edx, dword [esp + 0x28]
or ecx, eax
or ecx, dword [0x7c5f34]
mov word [edx], cx
mov al, byte [0x737b94]
mov byte [ebx], al
mov esi, dword [0x727a48]
mov ecx, dword [0x737b8c]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add ebp, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x3c]
add eax, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
add edx, ebp
mov ebp, dword [esp + 0x28]
add ebp, 2
inc ebx
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x10]
cmp ebp, dword [esp + 0x54]
mov dword [esp + 0x18], edx
mov dword [esp + 0x44], ebx
jne 0x424ecc
jmp 0x425aed
mov edx, dword [esp + 0x20]
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 + esi]
mov eax, dword [esp + 0x1c]
lea edx, [eax + edx*8]
lea eax, [ebp + edx*8]
xor edx, edx
mov dl, byte [edi + 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 [ebx]
cmp al, dl
jbe 0x4251d3
test ebp, ebp
je 0x4251d3
and ebp, dword [0x737bb0]
mov ax, word [ecx + ebp*2]
mov ecx, dword [esp + 0x28]
or ax, word [0x7c5f34]
mov word [ecx], ax
mov dl, byte [0x737b94]
mov byte [ebx], dl
mov esi, dword [0x727a48]
mov ecx, dword [0x737b8c]
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
add edx, 2
add ebp, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x5c]
add eax, edx
mov edx, dword [esp + 0x54]
inc ebx
cmp eax, edx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], eax
jne 0x425152
jmp 0x425aed
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x2c]
sar eax, 8
add edx, ebp
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], edx
jmp 0x42522b
mov eax, dword [esp + 0x20]
mov ebp, edx
mov dl, byte [0x73833f]
sar ebp, 8
test dl, dl
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], eax
je 0x42525e
cmp byte [0x769645], 2
jne 0x42525e
and ebp, 0x7ff
and eax, 0x7ff
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], eax
mov edx, eax
or edx, ebp
test edx, 0xfffffc00
jne 0x4252cd
and al, 0xf8
mov edx, esi
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 + 0x18]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x3c]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [edi + 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 [ebx]
cmp al, dl
jbe 0x42537f
test ebp, ebp
je 0x42537f
jmp 0x425353
cmp byte [0x769645], 3
jne 0x42537f
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x40]
add eax, edx
mov edx, dword [esp + 0x80]
and eax, 7
add edx, ebp
mov dword [esp + 0x3c], eax
and edx, 7
mov ebp, esi
mov dword [esp + 0x18], 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 + 0x18]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x3c]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [edi + 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 [ebx]
cmp al, dl
jbe 0x42537f
test ebp, ebp
je 0x42537f
and ebp, dword [0x737bb0]
mov ax, word [ecx + ebp*2]
mov ecx, dword [esp + 0x28]
or ax, word [0x7c5f34]
mov word [ecx], ax
mov dl, byte [0x737b94]
mov byte [ebx], dl
mov esi, dword [0x727a48]
mov ecx, dword [0x737b8c]
mov ebp, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x64]
add ebp, 2
add edx, eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x5c]
add eax, ebp
mov ebp, dword [esp + 0x54]
inc ebx
cmp eax, ebp
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
jne 0x425227
jmp 0x425aed
mov edx, dword [esp + 0x3c]
sar eax, 1
mov dword [esp + 0x10], eax
mov eax, edx
sar eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
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 + 0x4c], edx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
shr edx, 1
sub eax, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x34]
shr edx, 1
sub eax, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x10]
shr eax, 1
sub edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
shr edx, 1
sub eax, edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
add edx, eax
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x10]
add eax, edx
mov edx, dword [esp + 0x2c]
add eax, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x14]
add eax, edx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
add edx, eax
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x14]
add edx, eax
mov eax, dword [esp + 0x34]
add edx, eax
mov eax, dword [esp + 0x54]
cmp ebp, eax
mov dword [esp + 0x14], ebp
je 0x425aed
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
add ebp, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x1c]
add eax, ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
sub eax, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x34]
sub eax, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x4c]
sub eax, ebp
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x58]
sub eax, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
sub eax, ebp
sub edx, ebp
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x88]
add eax, ebp
mov ebp, dword [esp + 0x8c]
sar eax, 8
add edx, ebp
and eax, 0x3ff
sar edx, 8
mov dword [esp + 0x58], eax
and edx, 0x3ff
shr eax, 2
mov dword [esp + 0x4c], edx
and al, 0xfe
and edx, 0xfffffff8
mov ebp, esi
shl edx, 5
add ebp, eax
xor eax, eax
mov al, byte [edx + ebp]
mov edx, eax
mov eax, dword [esp + 0x4c]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x58]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [edi + eax*2]
mov ebp, edx
mov edx, dword [0x737bb4]
mov eax, ebp
mov dword [esp + 0x50], ebp
shr eax, 7
shr edx, 7
and eax, edx
mov al, byte [eax + 0x726f18]
mov byte [0x737b94], al
mov dl, byte [ebx]
cmp al, dl
jbe 0x42573f
test ebp, ebp
je 0x42573f
mov edx, dword [esp + 0x18]
mov ebp, dword [esp + 0x44]
mov eax, edx
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x10], eax
mov eax, ebp
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x98]
add eax, edx
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x68]
add eax, ebp
shr eax, 8
and eax, 0x3ff
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa0]
add eax, edx
mov edx, dword [esp + 0x70]
shr eax, 8
add edx, ebp
and eax, 0x3ff
shr edx, 8
mov dword [esp + 0x58], eax
and edx, 0x3ff
shr eax, 2
mov dword [esp + 0x4c], edx
and al, 0xfe
and edx, 0xfffffff8
mov ebp, esi
shl edx, 5
add ebp, eax
xor eax, eax
mov al, byte [edx + ebp]
mov ebp, esi
mov edx, eax
mov eax, dword [esp + 0x4c]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x58]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [edi + eax*2]
mov eax, dword [0x737bb0]
and edx, eax
xor eax, eax
mov ax, word [ecx + edx*2]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x1c]
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 + 0x20]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x1c]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [edi + eax*2]
mov eax, dword [esp + 0x10]
and edx, ebp
xor ebp, ebp
shr eax, 2
mov bp, word [ecx + edx*2]
mov edx, dword [esp + 0x60]
and edx, 0xfffffff8
and al, 0xfe
shl edx, 5
add esi, eax
xor eax, eax
mov al, byte [edx + esi]
mov edx, eax
mov eax, dword [esp + 0x60]
and eax, 7
lea edx, [eax + edx*8]
mov eax, dword [esp + 0x10]
and eax, 7
lea eax, [eax + edx*8]
xor edx, edx
mov dl, byte [edi + eax*2]
xor eax, eax
mov esi, edx
mov edx, dword [0x737bb0]
and esi, edx
mov ax, word [ecx + esi*2]
mov esi, dword [esp + 0x50]
and esi, edx
xor edx, edx
mov dx, word [ecx + esi*2]
mov ecx, dword [0x7c5f3c]
mov dword [esp + 0x50], edx
mov esi, edx
mov edx, eax
and esi, ecx
and edx, ecx
add esi, edx
mov edx, ebp
and edx, ecx
add esi, edx
mov edx, dword [esp + 0x24]
and edx, ecx
add esi, edx
mov edx, dword [0x7c5f40]
shr esi, 2
and esi, ecx
mov ecx, dword [esp + 0x50]
shr ecx, 2
and ecx, edx
shr eax, 2
add esi, ecx
and eax, edx
add esi, eax
mov eax, dword [esp + 0x24]
shr ebp, 2
and ebp, edx
shr eax, 2
add esi, ebp
and eax, edx
add esi, eax
mov eax, dword [0x7c5f34]
or esi, eax
mov eax, dword [esp + 0x28]
mov word [eax], si
mov cl, byte [0x737b94]
mov byte [ebx], cl
mov esi, dword [0x727a48]
mov ecx, dword [0x737b8c]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
add ebp, edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x3c]
add eax, edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
add edx, ebp
mov ebp, dword [esp + 0x28]
add ebp, 2
inc ebx
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x14]
cmp ebp, dword [esp + 0x54]
mov dword [esp + 0x44], edx
jne 0x4254f6
jmp 0x425aed
mov eax, dword [esp + 0x54]
mov dword [esp + 0x14], ebp
cmp ebp, eax
je 0x425aed
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
lea ebp, [edx + eax]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
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 + 0x50], eax
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], eax
je 0x4257e9
cmp byte [0x769645], 2
jne 0x4257e9
and eax, 0x7ff
and ebp, 0x7ff
mov dword [esp + 0x20], eax
mov edx, ebp
or edx, eax
test edx, 0xfffffc00
jne 0x425a23
mov edx, ebp
and ebp, 7
and edx, 0xfffffff8
mov dword [esp + 0x60], ebp
shr eax, 2
shl edx, 5
mov ebp, dword [esp + 0x20]
and al, 0xfe
mov dword [esp + 0x70], edx
mov dword [esp + 0xa0], eax
add edx, eax
xor eax, eax
and ebp, 7
mov al, byte [edx + esi]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x98], ebp
lea eax, [edx + eax*8]
lea edx, [ebp + eax*8]
xor eax, eax
mov al, byte [edi + 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 [ebx]
cmp al, dl
jbe 0x425aa5
test ebp, ebp
je 0x425aa5
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x5c]
lea ebx, [edx + eax]
mov edx, dword [esp + 0x1c]
add eax, edx
mov edx, dword [esp + 0x70]
and eax, 0x3ff
and ebx, 0x3ff
mov dword [esp + 0x50], eax
mov eax, dword [0x737bb0]
and ebp, eax
xor eax, eax
mov ax, word [ecx + ebp*2]
mov ebp, ebx
shr ebp, 2
and ebp, 0xfffffffe
and ebx, 7
mov dword [esp + 0x20], ebx
add edx, ebp
xor ebx, ebx
mov dword [esp + 0x8c], eax
mov bl, byte [edx + esi]
mov edx, dword [esp + 0x60]
lea edx, [edx + ebx*8]
mov ebx, dword [esp + 0x20]
lea edx, [ebx + edx*8]
xor ebx, ebx
mov bl, byte [edi + edx*2]
mov edx, dword [0x737bb0]
and ebx, edx
xor edx, edx
mov dx, word [ecx + ebx*2]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x70], edx
mov edx, ebx
and edx, 0xfffffff8
and ebx, 7
shl edx, 5
mov dword [esp + 0x1c], ebx
add ebp, edx
xor ebx, ebx
mov bl, byte [esi + ebp]
mov ebp, dword [esp + 0x1c]
lea ebx, [ebp + ebx*8]
mov ebp, dword [esp + 0x20]
lea ebp, [ebp + ebx*8]
xor ebx, ebx
mov bl, byte [edi + ebp*2]
mov ebp, ebx
mov ebx, dword [0x737bb0]
and ebp, ebx
xor ebx, ebx
mov bx, word [ecx + ebp*2]
mov ebp, dword [0x4ac2a0]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0xa0]
add edx, ebx
xor ebx, ebx
mov bl, byte [edx + esi]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x98]
lea edx, [edx + ebx*8]
xor ebx, ebx
lea edx, [esi + edx*8]
mov bl, byte [edi + edx*2]
mov edx, ebx
mov ebx, dword [0x737bb0]
and edx, ebx
xor ebx, ebx
mov bx, word [ecx + edx*2]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ebx
shr edx, 3
shr ecx, 3
and edx, 0x1f
and ecx, 0x1f
mov esi, edx
imul esi, ecx
shr esi, 5
and eax, ebp
mov ebp, dword [esp + 0x8c]
and ebp, dword [0x7c5f38]
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, ebx
mov ebx, dword [0x4ac2a0]
and ebp, ebx
mov ebx, dword [esp + 0x50]
and ebx, dword [0x7c5f38]
shl ebp, 0x10
or ebp, ebx
mov ebx, dword [0x4ac2a0]
imul ebp, edx
mov edx, dword [esp + 0x70]
add eax, ebp
mov ebp, edx
and ebp, ebx
mov ebx, dword [0x7c5f38]
shl ebp, 0x10
and edx, ebx
or ebp, edx
mov edx, dword [0x4ac2a0]
imul ebp, ecx
mov ecx, dword [esp + 0x88]
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 eax, ebx
shr ecx, 0x10
and ecx, edx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x44]
or ecx, eax
or ecx, dword [0x7c5f34]
mov word [edx], cx
mov al, byte [0x737b94]
jmp 0x425a97
cmp byte [0x769645], 3
jne 0x425aa5
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x80]
mov ebp, dword [esp + 0x14]
add edx, eax
mov eax, dword [esp + 0x7c]
and edx, 7
add ebp, eax
xor eax, eax
and ebp, 7
lea edx, [ebp + edx*8]
mov al, byte [edi + 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 [ebx]
cmp al, dl
jbe 0x425aa5
test ebp, ebp
je 0x425aa5
mov edx, dword [0x737bb0]
and ebp, edx
mov edx, dword [esp + 0x28]
mov cx, word [ecx + ebp*2]
or cx, word [0x7c5f34]
mov word [edx], cx
mov al, byte [0x737b94]
mov byte [ebx], al
mov esi, dword [0x727a48]
mov ecx, dword [0x737b8c]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x64]
add eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
add eax, ebp
mov ebp, dword [esp + 0x18]
add ebp, edx
mov edx, dword [esp + 0x28]
add edx, 2
inc ebx
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x44], ebx
jne 0x4257b5
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x74]
add edx, 0x18
dec eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x74], eax
jne 0x424cf7
mov edx, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
mov ebp, dword [esp + 0x94]
mov ebx, dword [esp + 0xb4]
add edx, 0x10
inc eax
mov dword [esp + 0xa8], edx
mov edx, dword [0x737b58]
dec ebp
add ebx, edx
mov edx, dword [0x737b78]
mov dword [esp + 0x94], ebp
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x48]
add ebp, edx
mov edx, dword [0x737ba8]
add ebx, 0xc
cmp eax, edx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x48], ebx
jbe 0x424bc4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret