Function at 0x423330
Capabilities:
Contain obfuscated stackstrings
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x40], 0xe347e17b
mov dword [esp + 0x44], 0xe7b2e56d
mov dword [esp + 0x48], 0xdb7ed986
mov dword [esp + 0x4c], 0xdfdedd7e
mov dword [esp + 0x50], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, eax
and esi, 0x30
mov edx, ecx
xor edx, 0x58
add edx, esi
xor dl, byte [esp + ecx + 0x40]
add dl, 0x48
mov byte [esp + ecx + 0x40], dl
inc ecx
add eax, 2
cmp ecx, 0x14
jne 0x423380
lea eax, [esp + 0x40]
push eax
push edi
push ebx
call fcn.0041c680
add esp, 0xc
mov byte [esp + 4], al
mov dword [esp + 0x40], 0x21992799
mov dword [esp + 0x44], 0x3dae2392
mov dword [esp + 0x48], 0x39c83ff7
mov dword [esp + 0x4c], 0x35983b84
mov dword [esp + 0x50], 0x3734
mov eax, 0x2d93dc49
movzx ecx, byte [esp + eax - 0x2d93dc09]
lea edx, [eax - 0x2d93dc00]
and edx, ecx
or ecx, eax
xor ecx, edx
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
add cl, 0x92
mov byte [esp + eax - 0x2d93dc09], cl
inc eax
cmp eax, 0x2d93dc5d
jne 0x4233e0
lea eax, [esp + 0x40]
push eax
push edi
push ebx
call fcn.0041c680
add esp, 0xc
mov byte [esp + 8], al
mov dword [esp + 0x40], 0x21b727ba
mov dword [esp + 0x44], 0x5db523b2
mov dword [esp + 0x48], 0x59c55fc4
mov dword [esp + 0x4c], 0x55d65bd5
mov dword [esp + 0x50], 0x51c457c5
mov dword [esp + 0x54], 0x4d0453db
mov dword [esp + 0x58], 0x49dd4fc1
mov dword [esp + 0x5c], 0x45d14bdc
mov dword [esp + 0x60], 0x41d947c8
mov dword [esp + 0x64], 0x4340
mov eax, 0x39
mov ecx, 0xc6
nop
nop
movzx edi, byte [esp + eax + 7]
mov edx, eax
xor edx, ecx
and edx, edi
xor edx, ecx
mov bl, 0xe2
sub bl, dl
mov byte [esp + eax + 7], bl
inc eax
dec ecx
cmp eax, 0x61
jne 0x423480
lea eax, [esp + 0x40]
push eax
push dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
push ebx
call fcn.0041c680
add esp, 0xc
mov byte [esp + 3], al
mov dword [esp + 0x40], 0xf7d096f
mov dword [esp + 0x44], 0x37d0d7f
mov dword [esp + 0x48], 0x7630179
mov dword [esp + 0x4c], 0x1b280573
mov dword [esp + 0x50], 0x1f6f196f
mov dword [esp + 0x54], 0x136b1d60
mov dword [esp + 0x58], 0x17731164
mov dword [esp + 0x5c], 0x1514
mov byte [esp + 0x60], 0
movzx eax, byte [esp + 8]
or byte [esp + 4], al
mov eax, 0x761ca682
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x761ca642]
lea edx, [eax - 0x761ca600]
and edx, ecx
mov esi, edx
or esi, 0xfd
inc esi
mov edi, edx
and edi, 0xfffffffd
imul edi, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
sub edi, edx
mov edx, eax
and edx, ecx
xor ecx, eax
lea ecx, [ecx + edx*2]
add ecx, edi
add cl, 0x76
mov byte [esp + eax - 0x761ca642], cl
inc eax
cmp eax, 0x761ca6a3
jne 0x423510
lea eax, [esp + 0x40]
push eax
mov esi, dword [ebp + 0xc]
push esi
push ebx
call fcn.0041c680
add esp, 0xc
mov ebx, eax
mov dword [esp + 0x40], 0x13a511a4
mov dword [esp + 0x44], 0xef57ed53
mov dword [esp + 0x48], 0xeb59e95e
mov dword [esp + 0x4c], 0xe75ce512
mov dword [esp + 0x50], 0xe355e153
mov dword [esp + 0x54], 0xfffefd4a
mov byte [esp + 0x58], 0
mov bh, byte [esp + 4]
or bh, byte [esp + 3]
mov eax, 0x9f2f8bfc
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x60d07444]
xor ecx, eax
mov edx, ecx
and edx, 0x13
xor ecx, 0xe4124413
lea edx, [ecx + edx*2]
and ecx, 1
or edx, 1
add edx, ecx
mov byte [esp + eax + 0x60d07444], dl
inc eax
cmp eax, 0x9f2f8c15
jne 0x4235c0
lea eax, [esp + 0x40]
push eax
push esi
push dword [ebp + 8]
call fcn.0041c680
add esp, 0xc
mov dword [esp + 0x40], 0x23be21b0
mov dword [esp + 0x44], 0x27c525c5
mov dword [esp + 0x48], 0xdb49d93d
mov dword [esp + 0x4c], 0xdf4ddd02
mov dword [esp + 0x50], 0xd34ed141
mov dword [esp + 0x54], 0xd742d54d
mov dword [esp + 0x58], 0xcbcac92d
mov word [esp + 0x5c], 0
or bh, bl
mov ah, bh
mov ecx, 0x87
mov edx, 0x8268f178
nop
nop
nop
movzx edi, byte [esp + edx + 0x7d970ec8]
lea esi, [edi + edi]
not esi
add esi, edi
and esi, edx
and edi, ecx
or edi, esi
mov esi, edi
and esi, 0x27
xor edi, 0xa7
lea ebx, [edi + esi*2]
inc bl
mov byte [esp + edx + 0x7d970ec8], bl
dec ecx
inc edx
cmp ecx, 0x69
jne case.default.0x4236a8
mov bh, ah
or bh, al
lea eax, [esp + 0x40]
push eax
mov esi, dword [ebp + 0xc]
push esi
push dword [ebp + 8]
call fcn.0041c680
add esp, 0xc
mov bl, al
or bl, bh
xor eax, eax
cmp dword [ebp + 0x10], 0
sete al
jmp dword [eax*4 + 0x44d7c8]
lea ecx, [esp + 0x40]
push 1
call fcn.0040cf50
mov esi, dword [esi + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + eax + 2], 0
lea eax, [eax + 2]
jne 0x4236d0
cmp eax, 0xffffffeb
jge 0x4236ec
mov eax, 0xffffffff
jmp 0x4236ef
jmp 0x4237fd
add eax, 0x14
push eax
call fcn.0040c820
add esp, 4
mov edi, eax
mov dword [esp + 0x10], 0x41d647a0
mov dword [esp + 0x14], 0x4dad43d2
mov dword [esp + 0x18], 0x49d34fa2
mov dword [esp + 0x1c], 0x75a04b9e
mov dword [esp + 0x20], 0x717677e9
mov byte [esp + 0x24], 0
mov eax, 0xe71d9511
nop
nop
nop
nop
movzx ecx, byte [esp + eax + 0x18e26aff]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xab
mov byte [esp + eax + 0x18e26aff], cl
inc eax
cmp eax, 0xe71d9526
jne 0x423730
movzx ecx, word [esi]
mov eax, edi
test cx, cx
je 0x423781
add esi, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [esi]
add esi, 2
test cx, cx
jne 0x423770
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x4237b1
lea edx, [esp + 0x12]
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 0x4237a0
mov word [eax], 0
lea eax, [esp + 0xc]
push 0x60
push 3
push 0x120089
push eax
push edi
call fcn.00445ed0
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d7d0]
jmp dword [0x44d810]
push edi
call fcn.0040c830
add esp, 4
lea esi, [esp + 0x40]
mov ecx, esi
call fcn.0040d780
and bl, 1
mov ecx, esi
call fcn.0040cf90
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x38], edi
lea eax, [esp + 0x3c]
push 0
push eax
push dword [esp + 0x14]
call fcn.004461b0
add esp, 0xc
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d7d8]
mov byte [esp + 3], bl
mov esi, dword [esp + 0x3c]
lea eax, [esi + 1]
push eax
call fcn.0040c820
add esp, 4
push 0
push esi
mov dword [esp + 0x3c], eax
push eax
push dword [esp + 0x18]
call fcn.00446260
add esp, 0x10
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44d7e0]
mov eax, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov byte [esi + eax], 0
mov dword [esp + 0x10], 0x2a3a012d
mov dword [esp + 0x14], 0x303b3a3e
mov dword [esp + 0x18], 0xc743632
mov dword [esp + 0x1c], 0x133f2321
mov dword [esp + 0x20], 0x282c3c2c
mov dword [esp + 0x24], 0x24202e25
mov dword [esp + 0x28], 0x2e232462
mov word [esp + 0x2c], 0x2230
mov byte [esp + 0x2e], 0x6a
mov dword [esp + 0x2f], 0
mov byte [esp + 0x33], 0
xor eax, eax
nop
nop
nop
mov ecx, eax
xor ecx, 0x1d
mov edx, eax
or edx, 0x20a807e2
and ecx, edx
add ecx, edx
xor cl, byte [esp + eax + 0x10]
add cl, 0x96
mov byte [esp + eax + 0x10], cl
inc eax
cmp eax, 0x24
jne 0x4238c0
movzx ebx, byte [esp + 0x10]
mov dword [esp + 4], esi
test bl, bl
je 0x42392c
lea eax, [esp + 0x10]
mov ecx, eax
mov edx, esi
mov dword [esp + 4], esi
jmp 0x423907
movzx ebx, byte [ecx]
test bl, bl
je 0x42392c
mov bh, byte [edx]
test bh, bh
je 0x423924
inc edx
inc ecx
mov esi, dword [esp + 4]
inc esi
cmp bh, bl
je 0x42391e
mov dword [esp + 4], esi
mov edx, esi
je 0x423900
mov ecx, eax
jmp 0x423900
mov dword [esp + 4], 0
xor eax, eax
cmp dword [esp + 4], 0
setne al
jmp dword [eax*4 + 0x44d7e8]
movzx ebx, byte [esp + 3]
jmp dword [0x44d808]
push dword [esp + 0x34]
call fcn.0040c830
add esp, 4
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], 0x700f0e0d
mov word [esp + 0x14], 0
mov byte [esp + 0x16], 0
xor ecx, ecx
nop
nop
mov edx, ecx
add dl, 0xbd
xor dl, byte [esp + ecx + 0x10]
add dl, 0x4f
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 7
jne 0x423970
mov ecx, dword [0x452b74]
test ecx, ecx
je 0x4239b8
mov edx, dword [esp + 0x10]
xor esi, esi
mov edi, dword [0x452b78]
nop
nop
nop
nop
cmp dword [edi + esi*8], 0xb62b8d10
je 0x4239b0
inc esi
cmp ecx, esi
jne 0x4239a0
jmp 0x4239b8
mov ecx, dword [edi + esi*8 + 4]
cmp ecx, edx
jne 0x4239c2
mov edi, dword [esp + 0x38]
jmp dword [0x44d810]
push eax
push 1
push ecx
push dword [0x452b7c]
call fcn.00442710
add esp, 0x10
mov edi, dword [esp + 0x38]
jmp dword [0x44d810]
xor edi, edi
xor eax, eax
cmp edi, dword [ebp + 0x14]
setb al
jmp dword [eax*4 + 0x44d7f0]
inc edi
xor eax, eax
cmp edi, dword [ebp + 0x14]
setb al
jmp dword [eax*4 + 0x44d7f0]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + edi*8 + 4]
movzx ebx, byte [eax]
mov ecx, dword [esp + 4]
test bl, bl
je 0x423a42
mov edx, eax
mov ecx, dword [esp + 4]
mov esi, ecx
jmp 0x423a2c
inc ecx
mov esi, ecx
mov edx, eax
movzx ebx, byte [edx]
test bl, bl
je 0x423a42
mov bh, byte [esi]
test bh, bh
je 0x423a40
cmp bh, bl
jne 0x423a20
inc esi
inc edx
jmp 0x423a25
xor ecx, ecx
xor edx, edx
test ecx, ecx
sete dl
jmp dword [edx*4 + 0x44d7f8]
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, esi
inc esi
cmp byte [edx], 0
jne 0x423a60
mov esi, edx
not esi
and esi, eax
not eax
and eax, edx
sub eax, esi
lea esi, [ecx + eax]
add esi, 5
movzx ecx, byte [ecx + eax + 5]
xor eax, eax
test cl, cl
je 0x423aa2
mov edx, esi
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp cl, 0x5c
je 0x423aa0
movzx ecx, byte [edx + 1]
inc edx
test cl, cl
jne 0x423a90
jmp 0x423aa2
mov eax, edx
mov dword [esp + 8], esi
sub eax, esi
mov esi, eax
inc esi
jns 0x423ac0
mov eax, 0xffffffff
jmp 0x423ac7
lea eax, [eax*2 + 2]
mov ecx, dword [ebp + 0x10]
lea ecx, [ecx + edi*8]
mov dword [esp + 0xa8], ecx
push eax
call fcn.0040c820
add esp, 4
mov ebx, eax
push 0
push dword [esp + 0xc]
push esi
push eax
call fcn.0040e690
add esp, 0x10
push dword [esp + 0xa8]
push dword [ebp + 0xc]
push ebx
lea eax, [esp + 0x4c]
push eax
call fcn.00423b40
add esp, 0x10
movzx ecx, byte [esp + 3]
and cl, 1
or cl, al
mov byte [esp + 3], cl
jmp dword [0x44d800]
push ebx
call fcn.0040c830
add esp, 4
inc edi
xor eax, eax
cmp edi, dword [ebp + 0x14]
setb al
jmp dword [eax*4 + 0x44d7f0]
push edi
call fcn.0040c830
add esp, 4
jmp dword [0x44d820]
jmp dword [0x44d820]
jmp dword [0x44d828]
push esi
call fcn.0040c830
add esp, 4
push esi
call fcn.0040c830
add esp, 4
jmp dword [0x44d830]
mov eax, ebx
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44d844]
test edi, edi
setns cl
test bl, 0x10
sete al
and al, cl
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.0040c830
add esp, 4
push esi
call fcn.0040c830
add esp, 4
jmp dword [0x44d848]
mov dword [esp], 0
jmp 0x4243f8
mov dword [esp + 4], 0xd9e8dbfa
mov dword [esp + 8], 0xddacdfa4
mov dword [esp + 0xc], 0xd1d2d3a1
mov word [esp + 0x10], 0
mov eax, 0x2c81eecf
mov esi, 0x137e1130
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x2c81eecb]
lea ebx, [edx + edx]
not ebx
add ebx, edx
and ebx, 0xda81e768
and edx, 0xffffff97
or edx, ebx
mov ecx, esi
and ecx, 0x12000128
mov ebx, eax
and ebx, 0x24000897
or ebx, ecx
mov ecx, edx
and ecx, ebx
add ebx, edx
add ecx, ecx
sub ebx, ecx
add bl, 0xf5
mov byte [esp + eax - 0x2c81eecb], bl
inc eax
dec esi
cmp eax, 0x2c81eedd
jne 0x424390
lea eax, [esp + 0x14]
lea ecx, [esp + 4]
push eax
push 0x425770
push ecx
mov esi, dword [esp + 0x58]
push esi
call fcn.00424490
add esp, 0x10
mov dword [esp], eax
xor ebx, ebx
test ebp, ebp
setg bl
lea ebp, [esp + 0x14]
push ebp
push 0x4259d0
push edi
push esi
call fcn.00424490
add esp, 0x10
mov ecx, eax
jmp dword [ebx*4 + 0x44d970]
mov ebx, ecx
mov dword [esp + 4], 0x7776095e
mov byte [esp + 8], 0
mov eax, 0xc11bdc3e
movzx ecx, byte [esp + eax + 0x3ee423c6]
xor ecx, eax
mov edx, ecx
and edx, 0x1090c9
xor ecx, 0x3a74b2c9
lea ecx, [ecx + edx*2]
mov edx, ecx
not edx
and edx, 0x88
and ecx, 0x77
sub ecx, edx
add cl, 0x89
mov byte [esp + eax + 0x3ee423c6], cl
inc eax
cmp eax, 0xc11bdc43
jne 0x424430
lea eax, [esp + 4]
push ebp
push 0x425e90
push eax
push esi
call fcn.00424490
add esp, 0x10
mov ecx, ebx
mov eax, dword [esp]
or al, cl
add esp, 0x30
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x248]
mov ecx, dword [esp + 0x24c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c670
mov ecx, dword [ebp + 0x38]
mov edi, dword [ebp + 0x3c]
shr edi, 1
mov esi, ebp
add esi, 0x38
xor eax, eax
test ecx, 0x400
sete cl
mov dword [esp + 0x2b8], 1
mov edx, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x2b8]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x184]
mov eax, dword [ecx + eax*4]
xor ecx, ecx
jmp eax
mov eax, edi
inc eax
add eax, eax
mov ecx, 0xffffffff
jb 0x4249a3
mov ecx, eax
mov dword [esp], ecx
call fcn.0040c820
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov ebp, eax
mov dword [esp], ebp
call fcn.0041c2b0
mov word [eax], 0
mov eax, dword [esp + 0x48]
add eax, 0x28
mov ecx, dword [esp + 0x288]
mov edx, dword [esp + 0x28c]
mov ecx, dword [edx + ecx*4]
jmp ecx
and bl, 1
movzx eax, bl
add esp, 0x2e8
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x1f4]
mov ecx, dword [esp + 0x1f0]
mov eax, dword [eax + ecx*4]
jmp eax
xor eax, eax
test ecx, ecx
sete al
mov dword [esp + 0x178], eax
mov eax, dword [esp + 0x17c]
mov edx, dword [esp + 0x178]
mov edx, dword [eax + edx*4]
mov eax, edi
jmp edx
mov eax, edi
add eax, ecx
mov ecx, dword [esp + 0x168]
mov edx, dword [esp + 0x16c]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0041c670
xor eax, eax
mov ecx, edi
sub ecx, dword [esp + 0x38]
sete cl
mov dword [esp + 0x1f8], 1
mov edx, dword [esp + 0x1fc]
mov esi, dword [esp + 0x1f8]
mov edx, dword [edx + esi*4]
jmp edx
call fcn.0041c670
mov dword [esp + 0x110], 1
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0041c670
mov dword [esp + 0x260], 0
mov eax, dword [esp + 0x264]
mov ecx, dword [esp + 0x260]
mov eax, dword [eax + ecx*4]
jmp eax
push ecx
lcall 0xf824, 0x848b71ac
add byte [eax], al
add byte [ebx + 0xfc248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0x38]
mov edi, edx
mov ebx, dword [esp + 0x3c]
jmp eax
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x2cc]
mov eax, dword [ecx + eax*4]
xor edx, edx
mov dword [esp + 0x38], 0
mov ebp, dword [esp + 0x4c]
xor ebx, ebx
jmp eax
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
mov ecx, esi
mov edx, dword [ecx]
xor ebx, ebx
test edx, edx
setne bl
mov dword [esp + 0x1d8], ebx
mov esi, dword [esp + 0x1dc]
mov edi, dword [esp + 0x1d8]
mov esi, dword [esi + edi*4]
jmp esi
xor ebx, ebx
mov dword [esp + 0x38], eax
test eax, eax
sete cl
mov edx, dword [esp + 0x220]
mov esi, dword [esp + 0x224]
mov edx, dword [esi + edx*4]
jmp edx
mov eax, dword [esp + 0x238]
mov ecx, dword [esp + 0x23c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.0043f710
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd8], eax
mov al, byte [esp + 0xa4]
mov byte [esp + 0xb0], al
mov byte [esp + 0xa8], 0xd
mov byte [esp + 0xa9], 0xe
mov byte [esp + 0xaa], 0xf
mov byte [esp + 0xab], 0x70
mov eax, 4
mov byte [esp + eax + 0xa8], 0
add eax, 1
cmp eax, 7
jne 0x424bd7
xor eax, eax
mov esi, ebx
cmp eax, 7
jae 0x424c33
movzx edx, byte [esp + eax + 0xa8]
mov ecx, eax
add ecx, 0xbd
mov edi, 0x42
sub edi, eax
mov ebx, 0x42
sub ebx, eax
mov ebp, 0x42
sub ebp, eax
and ebx, ebp
or edi, ebx
mov ebx, esi
or ecx, edx
xor edx, 0xffffffff
or edi, edx
and ecx, edi
add cl, 0x4f
mov byte [esp + eax + 0xa8], cl
add eax, 1
jmp 0x424beb
mov edi, dword [esp + 0xa8]
xor ebp, ebp
cmp ebp, dword [0x452b74]
jb 0x424c46
jmp 0x424c99
mov eax, dword [0x452b78]
cmp dword [eax + ebp*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x424c5c
jmp 0x424c89
mov eax, dword [eax + ebp*8 + 4]
cmp eax, edi
je 0x424c89
mov ecx, dword [0x452b7c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xc], eax
call fcn.00442710
test bl, 1
je 0x424c92
mov ebx, esi
jmp 0x424c99
add ebp, 1
mov ebx, esi
jmp 0x424c3c
call fcn.0041c670
call fcn.0041c670
mov eax, dword [esp + 0x130]
mov ecx, dword [esp + 0x134]
mov eax, dword [ecx + eax*4]
jmp eax
mov dword [esp], ebp
call fcn.0040c830
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c670
mov dword [esp + 0x1a0], 0
mov eax, dword [esp + 0x1a4]
mov ecx, dword [esp + 0x1a0]
mov eax, dword [eax + ecx*4]
mov esi, dword [esp + 0x38]
jmp eax
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov edx, dword [edx + ecx*4]
xor ecx, ecx
mov ebp, edi
jmp edx
mov dword [esp + 0x48], ebp
mov al, cl
and eax, 1
mov dword [esp + 0x2b0], eax
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x38]
jmp eax
call fcn.0041c670
mov dword [esp], esi
call fcn.0043f710
mov dword [esp + 0x198], 0
mov eax, dword [esp + 0x19c]
mov ecx, dword [esp + 0x198]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x6c]
mov byte [esp + 0x94], al
mov byte [esp + 0x70], 0x36
mov byte [esp + 0x71], 0xdb
mov byte [esp + 0x72], 0xda
mov byte [esp + 0x73], 0xd9
mov eax, 4
mov byte [esp + eax + 0x70], 0
add eax, 1
cmp eax, 5
jne 0x424d85
xor eax, eax
mov ebp, dword [esp + 0x48]
cmp eax, 5
jae 0x424db4
mov cl, byte [esp + eax + 0x70]
mov dl, al
add dl, 0xaf
xor dl, cl
add dl, 0x95
mov byte [esp + eax + 0x70], dl
add eax, 1
jmp 0x424d98
add ebp, 0x44
mov dword [esp + 8], edi
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00425720
mov ecx, dword [esp + 0x2a8]
mov edx, dword [esp + 0x2ac]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, byte [esp + 0x5c]
mov byte [esp + 0x9c], al
mov byte [esp + 0x60], 0xc8
mov byte [esp + 0x61], 0xf0
mov byte [esp + 0x62], 0xcf
mov byte [esp + 0x63], 0xcf
mov eax, 4
mov byte [esp + eax + 0x60], 0
add eax, 1
cmp eax, 5
jne 0x424e02
mov dword [esp + 0x44], edi
xor eax, eax
cmp eax, 5
jae 0x424e3f
mov dl, byte [esp + eax + 0x60]
movzx esi, dl
mov ecx, eax
add ecx, 0xedb29e52
mov edi, ecx
and edi, esi
shl edi, 1
sub ecx, edi
add cl, dl
add cl, 0x66
mov byte [esp + eax + 0x60], cl
add eax, 1
jmp 0x424e15
mov eax, dword [esp + 0x60]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0xd4], eax
mov al, byte [esp + 0x7c]
mov byte [esp + 0xb8], al
mov byte [esp + 0x80], 0xd
mov byte [esp + 0x81], 0xe
mov byte [esp + 0x82], 0xf
mov byte [esp + 0x83], 0x70
mov eax, 4
mov byte [esp + eax + 0x80], 0
add eax, 1
cmp eax, 7
jne 0x424e85
mov dword [esp + 0x3c], ebx
xor eax, eax
cmp eax, 7
jae 0x424ee1
movzx edx, byte [esp + eax + 0x80]
mov ecx, eax
add ecx, 0xbd
mov esi, 0x42
sub esi, eax
mov ebx, 0x42
sub ebx, eax
mov ebp, 0x42
sub ebp, eax
and ebx, ebp
or esi, ebx
or ecx, edx
xor edx, 0xffffffff
or esi, edx
and ecx, esi
add cl, 0x4f
mov byte [esp + eax + 0x80], cl
add eax, 1
jmp 0x424e9b
mov ebp, dword [esp + 0x80]
xor esi, esi
mov ebx, dword [esp + 0x3c]
cmp esi, dword [0x452b74]
jb 0x424f00
mov edi, 2
jmp 0x424fca
mov edx, dword [0x452b78]
cmp dword [edx + esi*8], 0x557d0c65
sete cl
xor edi, edi
mov byte [esp + 0x42], cl
test cl, 1
jne 0x424f20
jmp 0x424fb9
mov edx, dword [edx + esi*8 + 4]
mov edi, 2
cmp edx, ebp
je 0x424fb9
mov eax, dword [0x452b7c]
xor ecx, ecx
lea ecx, [esp + 0x2e0]
lea ebx, [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x34], 0
call fcn.00442710
mov edi, 1
test byte [esp + 0x42], 1
jne 0x424fc8
add esi, 1
jmp 0x424eee
jmp 0x424fca
cmp edi, 2
mov edi, dword [esp + 0x44]
jne 0x424fd5
mov eax, ebp
mov cl, byte [esp + 0x50]
mov byte [esp + 0xa0], cl
mov byte [esp + 0x54], 0x4d
mov byte [esp + 0x55], 0x49
mov byte [esp + 0x56], 0x4e
mov byte [esp + 0x57], 0xcf
mov ecx, 4
mov byte [esp + ecx + 0x54], 0
add ecx, 1
cmp ecx, 8
jne 0x424ff9
xor ecx, ecx
mov ebp, dword [esp + 0x48]
cmp ecx, 8
jae 0x425028
mov dl, byte [esp + ecx + 0x54]
mov dh, cl
add dh, 0x92
xor dh, dl
add dh, 0x26
mov byte [esp + ecx + 0x54], dh
add ecx, 1
jmp 0x42500c
mov ecx, dword [esp + 0x54]
xor edx, edx
mov esi, eax
sub esi, ecx
sete dl
mov dword [esp + 0x1e8], edx
mov ecx, dword [esp + 0x1ec]
mov edx, dword [esp + 0x1e8]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov cl, al
and ecx, 1
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
mov edx, dword [esp + 0x38]
jmp eax
xor eax, eax
test edx, edx
sete al
mov dword [esp + 0x230], eax
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x230]
mov eax, dword [eax + ecx*4]
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
jmp eax
not eax
shr eax, 0x1f
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1ac]
mov ecx, dword [esp + 0x1a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x258]
mov ecx, dword [esp + 0x25c]
mov eax, dword [ecx + eax*4]
mov edx, dword [esp + 0x38]
jmp eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x3c], ebx
call fcn.0041c670
mov dword [esp + 0x2c0], 0
mov eax, dword [esp + 0x2c4]
mov ecx, dword [esp + 0x2c0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x38], edx
call fcn.0041c670
mov dword [esp + 0x200], 0
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x210]
mov ecx, dword [esp + 0x214]
mov edx, dword [ecx + eax*4]
mov ecx, 2
mov eax, edi
mov ebx, dword [esp + 0x3c]
jmp edx
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov eax, dword [ecx + eax*4]
mov ecx, 2
jmp eax
mov edx, dword [esp + 0x150]
mov esi, dword [esp + 0x154]
mov edx, dword [esi + edx*4]
jmp edx
call fcn.0041c670
mov dword [esp + 0x120], 0
mov eax, dword [esp + 0x124]
mov ecx, dword [esp + 0x120]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [edi]
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x170]
mov eax, dword [eax + edx*4]
jmp eax
xor ecx, ecx
test eax, eax
setne dl
mov esi, dword [esp + 0x1c8]
mov edi, dword [esp + 0x1cc]
mov esi, dword [edi + esi*4]
jmp esi
in al, 0xb7
sbb eax, esp
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c670
mov dword [esp + 0x128], 0
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x128]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esi]
and ecx, 0x10
shr ecx, 4
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], ebp
call edi
or bl, al
and bl, 1
mov dword [esp + 0x278], 0
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
jmp eax
xor edx, edx
mov esi, ecx
sub esi, 2
setl dl
mov dword [esp + 0x148], edx
mov edx, dword [esp + 0x14c]
mov esi, dword [esp + 0x148]
mov edx, dword [edx + esi*4]
jmp edx
mov eax, dword [esp + 0x1e0]
mov ecx, dword [esp + 0x1e4]
mov ecx, dword [ecx + eax*4]
xor eax, eax
mov esi, edi
jmp ecx
mov eax, dword [eax]
mov ecx, dword [esp + 0x280]
mov edx, dword [esp + 0x284]
mov ecx, dword [edx + ecx*4]
mov edx, dword [esp + 0x308]
mov edi, dword [esp + 0x304]
jmp ecx
xor ecx, ecx
test eax, eax
setne al
mov edx, dword [esp + 0x2a0]
mov ebx, dword [esp + 0x2a4]
mov edx, dword [ebx + edx*4]
jmp edx
mov dword [eax], 0
mov eax, dword [esp + 0x1b8]
mov ecx, dword [esp + 0x1bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0041c670
mov dword [esp + 0x268], 0
mov eax, dword [esp + 0x26c]
mov ecx, dword [esp + 0x268]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x244]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x3c]
jmp eax
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov ecx, dword [ecx + eax*4]
mov eax, dword [esp + 0x38]
jmp ecx
call fcn.0041c670
mov dword [esp + 0x118], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x3c], ebx
mov dword [esp], 0x10900
call fcn.0043f6a0
mov edx, dword [esp + 0x228]
mov ecx, dword [esp + 0x22c]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x13c]
mov eax, dword [ecx + eax*4]
jmp eax
xor edx, edx
test ecx, ecx
sete dl
mov dword [esp + 0x140], edx
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x140]
mov ecx, dword [ecx + edx*4]
mov edx, eax
jmp ecx
mov dword [esp], esi
call fcn.0041c650
shl eax, 1
mov word [esp + 0xc8], ax
movzx eax, ax
add eax, 2
mov word [esp + 0xca], ax
mov dword [esp + 0xcc], esi
mov dword [esp], 0x848
call fcn.0043f6a0
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x78]
mov al, byte [esp + 0x88]
mov byte [esp + 0xb4], al
mov byte [esp + 0x8c], 0xd
mov byte [esp + 0x8d], 0xe
mov byte [esp + 0x8e], 0xf
mov byte [esp + 0x8f], 0x70
mov eax, 4
mov byte [esp + eax + 0x8c], 0
add eax, 1
cmp eax, 7
jne 0x425434
xor eax, eax
cmp eax, 7
jae 0x42548c
movzx edx, byte [esp + eax + 0x8c]
mov ecx, eax
add ecx, 0xbd
mov edi, 0x42
sub edi, eax
mov ebx, 0x42
sub ebx, eax
mov ebp, 0x42
sub ebp, eax
and ebx, ebp
or edi, ebx
or ecx, edx
xor edx, 0xffffffff
or edi, edx
and ecx, edi
add cl, 0x4f
mov byte [esp + eax + 0x8c], cl
add eax, 1
jmp 0x425446
mov edi, dword [esp + 0x8c]
xor ebp, ebp
cmp ebp, dword [0x452b74]
jb 0x4254a7
mov ecx, 2
jmp 0x42555f
mov edx, dword [0x452b78]
cmp dword [edx + ebp*8], 0x557d0c65
sete bl
xor ecx, ecx
mov byte [esp + 0x43], bl
test bl, 1
jne 0x4254c7
jmp 0x42554e
mov edx, dword [edx + ebp*8 + 4]
mov ecx, 2
cmp edx, edi
je 0x42554e
mov eax, dword [0x452b7c]
xor ecx, ecx
lea ecx, [esp + 0x2e0]
lea ebx, [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], 0xb
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], 0x848
mov dword [esp + 0x28], 2
mov dword [esp + 0x2c], 1
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], 0
call fcn.00442710
mov ecx, 1
test byte [esp + 0x43], 1
jne 0x42555d
add ebp, 1
jmp 0x425495
jmp 0x42555f
cmp ecx, 2
jne 0x425566
mov eax, edi
not eax
shr eax, 0x1f
mov dword [esp + 0x2d0], eax
mov eax, dword [esp + 0x2d4]
mov ecx, dword [esp + 0x2d0]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
mov al, byte [esp + 0x68]
mov byte [esp + 0x98], al
mov byte [esp + 0xbc], 0x26
mov byte [esp + 0xbd], 0x71
mov byte [esp + 0xbe], 0x24
mov byte [esp + 0xbf], 0x73
mov byte [esp + 0xc0], 0x6c
mov byte [esp + 0xc1], 0x6d
mov eax, 6
mov byte [esp + eax + 0xbc], 0
add eax, 1
cmp eax, 0xa
jne 0x4255c7
xor eax, eax
cmp eax, 0xa
jae 0x425639
mov bl, byte [esp + eax + 0xbc]
movzx ecx, bl
mov dword [esp + 0xd0], ecx
mov ecx, eax
xor ecx, 0x70637442
mov edx, eax
shl edx, 1
and edx, 0x1f39177a
sub edx, ecx
mov ecx, edx
shl ecx, 1
and ecx, 0xc98d97d8
xor edx, 0xe4c6cbec
add edx, ecx
add edx, 0x70637442
mov ecx, edx
and ecx, dword [esp + 0xd0]
shl ecx, 1
sub edx, ecx
add dl, bl
add dl, 0x64
mov byte [esp + eax + 0xbc], dl
add eax, 1
jmp 0x4255d9
mov dword [esp + 8], edi
lea eax, [esp + 0xbc]
mov dword [esp + 4], eax
mov dword [esp], ebp
call fcn.00425720
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x290], ecx
mov eax, dword [esp + 0x294]
mov ecx, dword [esp + 0x290]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
jmp eax
mov bl, cl
and ebx, 1
mov dword [esp + 0x218], ebx
mov eax, dword [esp + 0x21c]
mov ecx, dword [esp + 0x218]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1b0]
mov ecx, dword [esp + 0x1b4]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov eax, dword [esp + 0x250]
mov ecx, dword [esp + 0x254]
mov eax, dword [ecx + eax*4]
jmp eax
mov cl, dl
and ecx, 1
mov dword [esp + 0x1c0], ecx
mov ecx, dword [esp + 0x1c4]
mov edx, dword [esp + 0x1c0]
mov ecx, dword [ecx + edx*4]
mov ebx, dword [esp + 0x3c]
mov edi, dword [esp + 0x44]
jmp ecx
mov dword [esp], esi
call fcn.0043f710
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
mov eax, dword [ecx + eax*4]
jmp eax
and edx, 0xfffffffc
mov esi, ecx
add esi, edx
mov eax, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d4]
mov edx, dword [edx + eax*4]
mov eax, ecx
jmp edx