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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x170
mov esi, esp
push eax
sub esp, 0x24
mov edi, esp
and edi, 0xfffffff8
mov esp, edi
push eax
mov dword [esi + 0xb4], esp
push eax
mov dword [esi + 0xa8], esp
push eax
mov ebx, esp
push eax
mov dword [esi + 0xcc], esp
push eax
mov eax, esp
mov dword [esi + 0xc8], eax
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xf8], eax
mov esp, eax
push eax
mov dword [esi + 0xbc], esp
sub esp, 8
mov dword [esi + 0xf4], esp
sub esp, 8
mov dword [esi + 0xb8], esp
sub esp, 0x10
mov dword [esi + 0x2c], esp
sub esp, 0x18
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x30], eax
mov esp, eax
push eax
mov dword [esi + 0x98], esp
sub esp, 0x30
mov dword [esi + 0x6c], esp
sub esp, 0x30
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xd8], eax
mov esp, eax
push eax
mov dword [esi + 0xec], esp
sub esp, 0x14
mov dword [esi + 0x68], esp
sub esp, 0x20
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xd4], eax
mov esp, eax
push eax
mov dword [esi + 0xe8], esp
sub esp, 0x10
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0xd0], eax
mov esp, eax
mov dword [esi + 0x38], 0x6bab6db1
mov dword [esi + 0x3c], 0x67f669f8
mov dword [esi + 0x40], 0x63836598
mov dword [esi + 0x44], 0x1fff61ec
mov dword [esi + 0x48], 0x1b1a1dc1
mov dword [esi + 0x50], 0
mov dword [esi + 0x4c], 0
mov dword [esi + 0x80], 0
mov eax, dword [esi + 0x80]
cmp eax, 0x1b
ja 0x424ac6
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x80]
movzx edx, byte [esi + ecx + 0x38]
lea ecx, [eax + edx]
add ecx, 0x3ac5c432
add eax, 0x32
and eax, edx
add eax, eax
mov edx, ecx
not edx
and edx, eax
not eax
and eax, ecx
sub eax, edx
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x128]
add al, 0xa2
mov ecx, dword [esi + 0x80]
mov byte [esi + ecx + 0x38], al
inc dword [esi + 0x80]
mov eax, dword [esi + 0x80]
cmp eax, 0x1c
jb 0x424a70
mov dword [esi + 0x9c], ebx
mov dword [esi + 0x70], edi
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x6c]
mov dword [esi + 0xe4], eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0xe0], eax
lea eax, [esi + 0x4c]
lea ebx, [esi + 0x154]
lea edx, [esi + 0x38]
mov ecx, 5
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esi + 0x168]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x7c]
push eax
push 0
push 0
push 9
push ebx
push 0
call dword [0x448a2c]
mov edi, dword [esi + 0x7c]
test edi, edi
jns 0x424b2e
mov eax, 0xffffffff
jmp 0x424b31
lea eax, [edi + edi]
push eax
call fcn.00409310
add esp, 4
lea ecx, [esi + 0x7c]
push ecx
push edi
mov dword [esi + 0x74], eax
push eax
push 9
push ebx
push 0
call dword [0x448a2c]
mov dword [esi + 0x38], 0x23bb219a
mov dword [esi + 0x3c], 0x1f811daf
mov dword [esi + 0x40], 0x1b8a198f
mov dword [esi + 0x44], 0x17141586
lea edx, [esi + 0x48]
mov dword [esi + 0x48], 0
mov dword [esi + 0x80], 0
mov eax, dword [esi + 0x80]
cmp eax, 0x13
ja 0x424be5
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x80]
movzx ecx, byte [esi + ecx + 0x38]
lea edi, [eax - 0x3c2f6b25]
add eax, 0xdb
and eax, ecx
or edi, ecx
sub edi, eax
mov dword [esi + 0x128], edi
mov eax, dword [esi + 0x128]
mov ecx, eax
or ecx, 2
and eax, 2
add eax, ecx
inc al
mov ecx, dword [esi + 0x80]
mov byte [esi + ecx + 0x38], al
inc dword [esi + 0x80]
mov eax, dword [esi + 0x80]
cmp eax, 0x14
jb 0x424b90
lea edi, [esi + 0x144]
lea eax, [esi + 0x38]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esi + 0x154]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esi + 0x38], 0x39b0dc8
mov dword [esi + 0x3c], 0x7e10197
mov dword [esi + 0x40], 0x3bac0597
mov dword [esi + 0x44], 0x3ff939dc
mov dword [esi + 0x48], 0x33a03ddd
mov dword [esi + 0x4c], 0x37a031d1
mov dword [esi + 0x50], 0x2b2a35bd
lea ebx, [esi + 0x54]
mov dword [esi + 0x54], 0
mov dword [esi + 0x58], 0
mov dword [esi + 0x5c], 0
mov dword [esi + 0x80], 0
mov eax, dword [esi + 0x80]
cmp eax, 0x27
ja 0x424cbd
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x80]
mov ecx, dword [esi + 0x80]
movzx ecx, byte [esi + ecx + 0x38]
lea edx, [eax + 0xd6]
add eax, ecx
and edx, ecx
add edx, edx
sub eax, edx
add eax, 0x83698ad6
mov dword [esi + 0x128], eax
mov eax, dword [esi + 0x128]
add al, 0x26
mov ecx, dword [esi + 0x80]
mov byte [esi + ecx + 0x38], al
inc dword [esi + 0x80]
mov eax, dword [esi + 0x80]
cmp eax, 0x28
jb 0x424c70
lea edi, [esi + 0x128]
lea eax, [esi + 0x38]
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esi + 0x144]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov dword [esi + 0x38], 0x63f365aa
mov dword [esi + 0x3c], 0x6f8d61ff
mov dword [esi + 0x40], 0x6bf26dff
mov dword [esi + 0x44], 0x17986986
mov dword [esi + 0x48], 0x13da15ea
lea eax, [esi + 0x4c]
mov word [esi + 0x4c], 0x1112
mov dword [esi + 0x52], 0
mov dword [esi + 0x4e], 0
mov dword [esi + 0x18], 0
mov ecx, dword [esi + 0x18]
cmp ecx, 0x1d
ja 0x424d6b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esi + 0x18]
mov edi, dword [esi + 0x18]
movzx edi, byte [esi + edi + 0x38]
lea ebx, [ecx + 0x74c17931]
add ecx, 0x31
and ecx, edi
or ebx, edi
sub ebx, ecx
mov dword [esi + 0x80], ebx
mov ecx, dword [esi + 0x80]
add cl, 0xa9
mov edi, dword [esi + 0x18]
mov byte [esi + edi + 0x38], cl
inc dword [esi + 0x18]
mov ecx, dword [esi + 0x18]
cmp ecx, 0x1e
jb 0x424d30
lea ebx, [esi + 0x80]
lea edx, [esi + 0x38]
mov ecx, 5
mov edi, ebx
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esi + 0x94]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea eax, [esi + 0x144]
mov dword [esi + 0x11c], eax
lea eax, [esi + 0x128]
mov dword [esi + 0x120], eax
mov dword [esi + 0x124], ebx
mov eax, dword [esi + 0x2c]
lea ecx, [eax + 0x10]
mov dword [esi + 0xc4], ecx
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + 0x2c]
mov dword [esi + 0x10c], edx
mov edx, dword [esi + 0x68]
lea edi, [edx + 0x10]
mov dword [esi + 0x108], edi
mov edi, dword [esi + 0x74]
add edi, 2
mov dword [esi + 0xdc], edi
add eax, 2
mov dword [esi + 0x2c], eax
add ecx, 2
mov dword [esi + 0x6c], ecx
add edx, 2
mov dword [esi + 0x68], edx
xor ecx, ecx
xor eax, eax
mov dword [esi + 0xa0], 0
cmp ecx, 3
setne al
mov ebx, dword [esi + 0x70]
lea ecx, [ebx + 0x18]
mov dword [esi + 0x114], ecx
lea ecx, [ebx + 0x1a]
mov dword [esi + 0x110], ecx
mov ecx, dword [esi + 0x30]
lea ecx, [ecx + 0x10]
mov dword [esi + 0xc0], ecx
mov ecx, dword [esi + 0xd8]
add ecx, 0x2c
mov dword [esi + 0x104], ecx
mov ecx, dword [esi + 0xd4]
add ecx, 0x10
mov dword [esi + 0x100], ecx
mov ecx, dword [esi + 0xd0]
add ecx, 4
mov dword [esi + 0xfc], ecx
xor ecx, ecx
jmp dword [eax*4 + 0x4449f4]
jmp dword [0x444a08]
jmp dword [0x444b1c]
mov dword [esi + 0x118], ecx
mov ecx, dword [esi + ecx*4 + 0x11c]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x424ec0
mov dword [esi + 0x34], ecx
mov dword [esi + 0xa4], eax
sar eax, 1
mov dword [esi + 0xf0], eax
mov dword [ebx], 0x6bde6dc8
mov dword [ebx + 4], 0x67f969fb
mov dword [ebx + 8], 0x63f665c5
mov dword [ebx + 0xc], 0x5ff16100
mov dword [ebx + 0x10], 0x5bfb5dd0
mov dword [ebx + 0x14], 0x57cb59d4
mov word [ebx + 0x18], 0x5554
mov eax, dword [esi + 0x110]
mov word [eax + 8], 0
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x23
ja 0x424f8b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx edx, byte [ebx + ecx]
lea ecx, [eax + 0x550dc452]
mov edi, edx
not edi
or edi, ecx
and ecx, edx
add ecx, edi
neg ecx
add eax, ecx
add eax, 0x550dc451
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
mov ecx, eax
or ecx, 0xc1
and eax, 0xc1
add eax, ecx
inc al
mov ecx, dword [esi + 4]
mov byte [ebx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x24
jb 0x424f40
mov eax, ebx
mov ecx, 6
lea edi, [esi + 0x38]
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [esi + 0x114]
lea edi, [esi + 0x50]
mov ecx, 1
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov eax, dword [esi + 0x7c]
mov ecx, dword [esi + 0xf0]
add eax, ecx
add eax, 0xe
mov ecx, eax
xor ecx, 0xfffffffe
and eax, 0xfffffffe
lea edx, [ecx + eax*2]
lea ecx, [ecx + eax*2]
inc ecx
lea eax, [edx + edx]
add eax, 2
test ecx, ecx
jns 0x424fd8
mov eax, 0xffffffff
push eax
call fcn.00409310
add esp, 4
mov ecx, dword [esi + 0xb4]
mov dword [ecx], eax
mov ecx, dword [esi + 0x74]
movzx ecx, word [ecx]
test cx, cx
mov edi, dword [esi + 0xa8]
je 0x425011
mov edx, dword [esi + 0xdc]
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425000
mov word [eax], 0x5c
add eax, 2
mov edx, dword [esi + 0x34]
movzx ecx, word [edx]
test cx, cx
je 0x425041
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425030
mov word [eax], 0
movzx ecx, word [esi + 0x38]
test cx, cx
je 0x425071
lea edx, [esi + 0x3a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425060
mov word [eax], 0
push 0x60
push 3
push 0x120089
push edi
mov eax, dword [esi + 0xb4]
push dword [eax]
call fcn.0043bc70
add esp, 0x14
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x444a0c]
push 0
mov ebx, dword [esi + 0x9c]
push ebx
mov edi, dword [esi + 0xa8]
push dword [edi]
call fcn.0043c040
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444a14]
xor ebx, ebx
jmp 0x425b96
mov ebx, dword [ebx]
lea eax, [ebx + 1]
push eax
call fcn.00409310
add esp, 4
mov ecx, edi
mov edi, eax
mov eax, dword [esi + 0xcc]
mov dword [eax], edi
push 0
push ebx
push edi
push dword [ecx]
call fcn.0043c150
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x444a1c]
xor ebx, ebx
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444a94]
mov ebx, dword [esi + 0xc8]
jmp dword [0x444a24]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444a34]
xor ebx, ebx
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x444a94]
push eax
call fcn.004029a0
add esp, 4
mov ebx, dword [esi + 0xf8]
mov dword [ebx], 0x7e710c07
mov dword [ebx + 4], 0x30c0600
mov dword [ebx + 8], 0x760e7648
mov dword [ebx + 0xc], 0x1b141e08
mov dword [ebx + 0x10], 0x16616d69
mov word [ebx + 0x14], 0x166d
mov byte [ebx + 0x16], 0x8c
mov dword [ebx + 0x17], 0
mov dword [esi + 4], 0
mov ecx, dword [esi + 4]
cmp ecx, 0x1a
ja 0x425215
nop
nop
mov ecx, dword [esi + 4]
mov edx, dword [esi + 4]
movzx edx, byte [ebx + edx]
lea edi, [ecx - 0x60c2e03d]
and edi, edx
add ecx, edx
add ecx, 0x9f3d1fc3
add edi, edi
sub ecx, edi
mov dword [esi + 0x18], ecx
mov ecx, dword [esi + 0x18]
mov edx, ecx
xor edx, 0xaa
and ecx, 0x2a
lea ecx, [edx + ecx*2]
inc cl
mov edx, dword [esi + 4]
mov byte [ebx + edx], cl
inc dword [esi + 4]
mov ecx, dword [esi + 4]
cmp ecx, 0x1b
jb 0x4251d0
push ebx
push eax
call fcn.00402d80
add esp, 8
mov ecx, 0xffffffff
mov edi, 0xfffffffe
mov edx, 0xfffffffd
nop
nop
add edi, 2
add edx, 3
cmp byte [eax + ecx + 1], 0
lea ecx, [ecx + 1]
jne 0x425230
shr edx, 2
cmp byte [eax + ecx - 1], 0x3d
mov dword [esi + 8], ecx
je 0x425262
mov ecx, dword [esi + 8]
xor ecx, 0xfffffffe
and edi, 0xfffffffc
add edi, ecx
mov ecx, dword [esi + 8]
cmp byte [eax + edi + 1], 0x2e
jne 0x425263
dec edx
movzx ecx, byte [eax + ecx - 2]
cmp ecx, 0x3d
mov dword [esi + 0xac], eax
je 0x425278
cmp ecx, 0x2e
jne 0x425279
dec edx
mov dword [esi + 0x64], edx
lea eax, [edx + 1]
push eax
call fcn.00409310
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xbc]
mov dword [esi + 0x10], ecx
mov dword [eax], ecx
cmp dword [esi + 8], 0
je 0x4253c0
xor eax, eax
xor edi, edi
jmp 0x4252c3
mov edx, dword [esi + 0x78]
nop
nop
nop
nop
nop
nop
nop
nop
and edx, 8
xor edi, 4
add edi, edx
mov eax, dword [esi + 0xc]
cmp edi, ecx
jae 0x4253c0
mov dword [esi + 0xb0], eax
mov ebx, dword [esi + 0xac]
movzx eax, byte [ebx + edi]
push eax
call fcn.00418db0
add esp, 4
mov byte [esi + 0xc], al
movzx eax, byte [ebx + edi + 1]
push eax
call fcn.00418db0
mov edx, dword [esi + 0xb0]
add esp, 4
mov ebx, eax
mov ah, byte [esi + 0xc]
shl ah, 2
xor al, 0xc0
mov ecx, ebx
or cl, 0x30
and cl, al
shr cl, 4
add cl, ah
lea eax, [edx + 1]
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
mov byte [eax + edx], cl
mov ecx, dword [esi + 8]
lea eax, [edi + 2]
lea edx, [edi + edi]
cmp eax, ecx
jae 0x4252b0
mov eax, edx
and eax, 4
mov ecx, edi
xor ecx, 2
add ecx, eax
mov eax, dword [esi + 0xac]
movzx eax, byte [eax + ecx]
push eax
mov dword [esi + 0x78], edx
call fcn.00418db0
mov edx, dword [esi + 0x78]
mov ecx, dword [esi + 8]
add esp, 4
cmp al, 0x40
je 0x4252b0
mov bh, al
shl bl, 4
shr al, 2
and al, 0xf
or al, bl
mov edx, dword [esi + 0xb0]
lea ecx, [edx + 2]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0x10]
mov byte [ecx + edx + 1], al
mov ecx, dword [esi + 8]
lea eax, [edi + 3]
cmp eax, ecx
jae 0x4252a5
mov ecx, dword [esi + 0xac]
movzx eax, byte [ecx + eax]
push eax
call fcn.00418db0
mov ecx, dword [esi + 8]
add esp, 4
cmp al, 0x40
mov edx, dword [esi + 0x78]
je 0x4252b0
shl bh, 6
add al, bh
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0xb0]
mov byte [ecx + edx + 2], al
mov ecx, dword [esi + 8]
add edx, 3
mov dword [esi + 0xc], edx
jmp 0x4252a5
mov ecx, dword [esi + 0x64]
add ecx, 0xfffffffb
mov edi, dword [esi + 0xf4]
mov ebx, dword [esi + 0xb8]
mov dword [esi + 0x64], ecx
jmp dword [0x444a3c]
xor ebx, ebx
xor eax, eax
mov ecx, dword [esi + 0x10]
test ecx, ecx
sete al
jmp dword [eax*4 + 0x444a8c]
jmp dword [0x444a54]
mov dword [edi], ecx
mov eax, dword [esi + 0x10]
add eax, 5
mov dword [edi + 4], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x79955919
push dword [0x448a3c]
call fcn.0043b050
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
mov ecx, dword [esi + 0x64]
mov dword [edi], ecx
mov eax, dword [esi + 0x10]
add eax, 5
mov dword [edi + 4], eax
mov dword [ebx], 0
mov dword [ebx + 4], 0
push 0x79955919
push dword [0x448a3c]
call fcn.0043b050
add esp, 8
push ebx
push 0
push 0
push 0
push 0
push 0
push edi
call eax
mov ecx, dword [esi + 0x64]
jmp dword [0x444a48]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x444a4c]
mov edx, dword [esi + 0x30]
mov dword [edx], 0x338835c7
mov dword [edx + 4], 0xfc23182
mov dword [edx + 8], 0xb840d82
mov dword [edx + 0xc], 0x7080986
mov word [edx + 0x10], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x11
ja 0x425975
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
lea edx, [eax + 0x53ddbad9]
and edx, ecx
mov edi, 0xac224526
sub edi, eax
or edi, ecx
add ecx, eax
add ecx, 0x53ddbad9
add edi, eax
lea eax, [edx + edi]
add eax, 0x53ddbada
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov edx, dword [esi + 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0x11
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x12
jb 0x425920
mov eax, edx
mov edi, dword [esi + 0x60]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [esi + 0xc0]
mov edi, dword [esi + 0xc4]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 0xa4]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x4259a9
mov eax, 0xffffffff
push eax
call fcn.00409310
add esp, 4
mov ecx, dword [esi + 0x98]
mov dword [ecx], eax
mov edx, dword [esi + 0x34]
movzx ecx, word [edx]
test cx, cx
je 0x4259e1
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x4259d0
mov word [eax], 0
mov ecx, dword [esi + 0x60]
movzx ecx, word [ecx]
test cx, cx
je 0x425a11
mov edx, dword [esi + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425a00
mov word [eax], 0
jmp dword [0x444a5c]
mov eax, dword [esi + 0x98]
mov edi, dword [eax]
mov ecx, dword [ebp + 8]
push dword [ebx]
push dword [ebx + 4]
push edi
call fcn.00409b60
mov ebx, eax
mov eax, dword [0x444a70]
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov edx, dword [esi + 0x30]
mov dword [edx], 0x338835c7
mov dword [edx + 4], 0xfc23182
mov dword [edx + 8], 0xb840d82
mov dword [edx + 0xc], 0x7080986
mov word [edx + 0x10], 0
mov dword [esi + 4], 0
mov eax, dword [esi + 4]
cmp eax, 0x11
ja 0x425ae5
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 4]
mov ecx, dword [esi + 4]
movzx ecx, byte [edx + ecx]
lea edx, [eax + 0x53ddbad9]
and edx, ecx
mov edi, 0xac224526
sub edi, eax
or edi, ecx
add ecx, eax
add ecx, 0x53ddbad9
add edi, eax
lea eax, [edx + edi]
add eax, 0x53ddbada
mov edx, eax
xor edx, ecx
not eax
and eax, ecx
add eax, eax
sub eax, edx
mov edx, dword [esi + 0x30]
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x18]
add al, 0x11
mov ecx, dword [esi + 4]
mov byte [edx + ecx], al
inc dword [esi + 4]
mov eax, dword [esi + 4]
cmp eax, 0x12
jb 0x425a90
mov eax, edx
mov edi, dword [esi + 0x60]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
mov eax, dword [esi + 0xc0]
mov edi, dword [esi + 0xc4]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov ecx, dword [esi + 0xa4]
lea eax, [ecx + 0x10]
cmp ecx, 0xffffffef
jge 0x425b19
mov eax, 0xffffffff
push eax
call fcn.00409310
add esp, 4
mov ecx, dword [esi + 0x98]
mov dword [ecx], eax
mov edx, dword [esi + 0x34]
movzx ecx, word [edx]
test cx, cx
je 0x425b51
add edx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425b40
mov word [eax], 0
mov ecx, dword [esi + 0x60]
movzx ecx, word [ecx]
test cx, cx
je 0x425b81
mov edx, dword [esi + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425b70
mov word [eax], 0
jmp case.0x424e55.24
mov eax, dword [edi]
mov dword [esi + 0xc], eax
mov dword [esi + 0x18], 0xa8a9aeaf
lea eax, [esi + 0x1c]
mov byte [eax + 4], 0
mov dword [eax], 0
mov dword [esi + 0x14], 0
mov eax, dword [esi + 0x14]
cmp eax, 8
ja 0x425bf9
nop
nop
mov eax, dword [esi + 0x14]
mov ecx, dword [esi + 0x14]
movzx ecx, byte [esi + ecx + 0x18]
lea edx, [eax + ecx]
add edx, 0x5d1e709a
add eax, 0x5d1e709a
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esi + 4], edx
mov eax, dword [esi + 4]
add al, 0xca
mov ecx, dword [esi + 0x14]
mov byte [esi + ecx + 0x18], al
inc dword [esi + 0x14]
mov eax, dword [esi + 0x14]
cmp eax, 9
jb 0x425bc0
mov ecx, dword [0x448a30]
test ecx, ecx
je 0x425c40
mov edx, dword [esi + 0x18]
xor edi, edi
mov eax, dword [0x448a34]
nop
nop
nop
cmp dword [eax + edi*8], 0xad91fd63
je 0x425c20
inc edi
cmp ecx, edi
jne 0x425c10
jmp 0x425c40
mov eax, dword [eax + edi*8 + 4]
cmp eax, edx
je 0x425c40
push dword [esi + 0xc]
push 1
push dword [0x448a38]
push eax
call fcn.004395d0
add esp, 0x10
nop
nop
nop
nop
mov eax, dword [case.0x424e55.6]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [esi + 0xb4]
mov eax, dword [eax]
xor ecx, ecx
test eax, eax
sete cl
movzx edi, bl
jmp dword [ecx*4 + 0x444abc]
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401ef0
add esp, 4
mov dword [ebx], eax
mov eax, dword [esi + 0x9c]
mov eax, dword [eax]
mov byte [edi + eax], 0
push edi
call fcn.00401ef0
add esp, 4
mov dword [ebx], eax
jmp dword [0x444a2c]