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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x80
mov esi, esp
mov dword [esi + 0x20], ecx
mov al, byte [ebp + 8]
mov byte [esi + 0x27], al
mov eax, dword [0x43e080]
xor eax, ebp
mov dword [esi + 0x78], eax
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
sub edx, 0x4846025d
sub edx, 1
add edx, 0x4846025d
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete cl
and cl, 1
mov byte [esi + 0x2e], cl
cmp eax, 0xa
setl al
and al, 1
mov byte [esi + 0x2f], al
mov dword [esi + 0x28], 0x5016f5d9
mov eax, dword [esi + 0x28]
mov dword [esi + 0x1c], eax
sub eax, 0x850ed627
je 0x40458e
jmp 0x4038ba
mov eax, dword [esi + 0x1c]
sub eax, 0x89247579
je 0x403e4a
jmp 0x4038cd
mov eax, dword [esi + 0x1c]
sub eax, 0x8a6edf04
je 0x4046c8
jmp 0x4038e0
mov eax, dword [esi + 0x1c]
sub eax, 0x93773bd3
je 0x4048cb
jmp 0x4038f3
mov eax, dword [esi + 0x1c]
sub eax, 0x9a3af2b3
je 0x403d33
jmp 0x403906
mov eax, dword [esi + 0x1c]
sub eax, 0x9b9b83d8
je 0x4048b0
jmp 0x403919
mov eax, dword [esi + 0x1c]
sub eax, 0x9f7fea69
je 0x40472a
jmp 0x40392c
mov eax, dword [esi + 0x1c]
sub eax, 0x9fa11554
je 0x404064
jmp 0x40393f
mov eax, dword [esi + 0x1c]
sub eax, 0xa753ab8f
je 0x40424c
jmp 0x403952
mov eax, dword [esi + 0x1c]
sub eax, 0xb2394ef7
je 0x404942
jmp 0x403965
mov eax, dword [esi + 0x1c]
sub eax, 0xb3f24a54
je 0x40470a
jmp 0x403978
mov eax, dword [esi + 0x1c]
sub eax, 0xb8b357ce
je 0x4048da
jmp 0x40398b
mov eax, dword [esi + 0x1c]
sub eax, 0xbc245ae8
je 0x403f83
jmp 0x40399e
mov eax, dword [esi + 0x1c]
sub eax, 0xbc375073
je 0x40448d
jmp 0x4039b1
mov eax, dword [esi + 0x1c]
sub eax, 0xbe762cf3
je 0x4046ef
jmp 0x4039c4
mov eax, dword [esi + 0x1c]
sub eax, 0xc391f283
je 0x404433
jmp 0x4039d7
mov eax, dword [esi + 0x1c]
sub eax, 0xc5ae241d
je 0x40471e
jmp 0x4039ea
mov eax, dword [esi + 0x1c]
sub eax, 0xca1ea20c
je 0x404156
jmp 0x4039fd
mov eax, dword [esi + 0x1c]
sub eax, 0xca4e8ffe
je 0x404238
jmp 0x403a10
mov eax, dword [esi + 0x1c]
sub eax, 0xcc18b813
je 0x403e56
jmp 0x403a23
mov eax, dword [esi + 0x1c]
sub eax, 0xcfdc359f
je 0x40422c
jmp 0x403a36
mov eax, dword [esi + 0x1c]
sub eax, 0xdce768cc
je 0x404362
jmp 0x403a49
mov eax, dword [esi + 0x1c]
sub eax, 0xe61b5974
je 0x404356
jmp 0x403a5c
mov eax, dword [esi + 0x1c]
sub eax, 0xe6bc9d16
je 0x404770
jmp 0x403a6f
mov eax, dword [esi + 0x1c]
sub eax, 0xeb5b5855
je 0x40443f
jmp 0x403a82
mov eax, dword [esi + 0x1c]
sub eax, 0xec64a012
je 0x404058
jmp 0x403a95
mov eax, dword [esi + 0x1c]
sub eax, 0xf0df0bc3
je 0x404827
jmp 0x403aa8
mov eax, dword [esi + 0x1c]
sub eax, 0xf508518c
je 0x4045dd
jmp 0x403abb
mov eax, dword [esi + 0x1c]
sub eax, 0xf69b0a6f
je 0x403da4
jmp 0x403ace
mov eax, dword [esi + 0x1c]
sub eax, 0xfc2196a8
je 0x403dea
jmp 0x403ae1
mov eax, dword [esi + 0x1c]
sub eax, 0xfec86d66
je 0x4042cb
jmp 0x403af4
mov eax, dword [esi + 0x1c]
sub eax, 0xff921a95
je 0x404258
jmp 0x403b07
mov eax, dword [esi + 0x1c]
sub eax, 0xff9cb9d6
je 0x4048bf
jmp 0x403b1a
mov eax, dword [esi + 0x1c]
sub eax, 0xffeda1b0
je 0x403f8f
jmp 0x403b2d
mov eax, dword [esi + 0x1c]
sub eax, 0x6f8a08f
je 0x4047ef
jmp 0x403b40
mov eax, dword [esi + 0x1c]
sub eax, 0xef94649
je 0x4040df
jmp 0x403b53
mov eax, dword [esi + 0x1c]
sub eax, 0x133fb300
je 0x404926
jmp 0x403b66
mov eax, dword [esi + 0x1c]
sub eax, 0x1cd9bccf
je 0x403d98
jmp 0x403b79
mov eax, dword [esi + 0x1c]
sub eax, 0x210e822c
je 0x40481b
jmp 0x403b8c
mov eax, dword [esi + 0x1c]
sub eax, 0x2c16425a
je 0x4045f5
jmp 0x403b9f
mov eax, dword [esi + 0x1c]
sub eax, 0x2d65ae9e
je 0x4043d5
jmp 0x403bb2
mov eax, dword [esi + 0x1c]
sub eax, 0x323e3a10
je 0x404609
jmp 0x403bc5
mov eax, dword [esi + 0x1c]
sub eax, 0x38eb4207
je 0x404674
jmp 0x403bd8
mov eax, dword [esi + 0x1c]
sub eax, 0x452a81e4
je 0x40480f
jmp 0x403beb
mov eax, dword [esi + 0x1c]
sub eax, 0x4dd997f2
je 0x40451b
jmp 0x403bfe
mov eax, dword [esi + 0x1c]
sub eax, 0x5016f5d9
je 0x403d0d
jmp 0x403c11
mov eax, dword [esi + 0x1c]
sub eax, 0x504d2e4c
je 0x4047e3
jmp 0x403c24
mov eax, dword [esi + 0x1c]
sub eax, 0x51574d7a
je 0x404099
jmp 0x403c37
mov eax, dword [esi + 0x1c]
sub eax, 0x53c6a149
je 0x40494e
jmp 0x403c4a
mov eax, dword [esi + 0x1c]
sub eax, 0x579d7bbd
je 0x40414a
jmp 0x403c5d
mov eax, dword [esi + 0x1c]
sub eax, 0x5831a532
je 0x404963
jmp 0x403c70
mov eax, dword [esi + 0x1c]
sub eax, 0x585b16d0
je 0x40407e
jmp 0x403c83
mov eax, dword [esi + 0x1c]
sub eax, 0x684083a4
je 0x404500
jmp 0x403c96
mov eax, dword [esi + 0x1c]
sub eax, 0x6cf2083d
je 0x404972
jmp 0x403ca9
mov eax, dword [esi + 0x1c]
sub eax, 0x6d28db8f
je 0x404002
jmp 0x403cbc
mov eax, dword [esi + 0x1c]
sub eax, 0x6ebe163e
je 0x4045e9
jmp 0x403ccf
mov eax, dword [esi + 0x1c]
sub eax, 0x75605b6b
je 0x4046e3
jmp 0x403ce2
mov eax, dword [esi + 0x1c]
sub eax, 0x770fa216
je 0x4041a4
jmp 0x403cf5
mov eax, dword [esi + 0x1c]
sub eax, 0x7d314f95
je 0x403e9c
jmp 0x403d08
jmp 0x404981
mov al, byte [esi + 0x2e]
mov cl, byte [esi + 0x2f]
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x452a81e4
mov ecx, 0x9a3af2b3
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
push eax
mov eax, esp
mov dword [esi + 0x30], eax
push eax
mov eax, esp
mov dword [esi + 0x34], eax
push eax
mov eax, esp
mov dword [esi + 0x38], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x3c], eax
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x452a81e4
mov ecx, 0x1cd9bccf
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xf69b0a6f
jmp 0x404981
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x210e822c
mov ecx, 0xfc2196a8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
push eax
push eax
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov dword [esi + 0x40], eax
push eax
mov eax, esp
mov dword [esi + 0x44], eax
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
mov edx, eax
sub edx, 0x4e92c2da
sub edx, 1
add edx, 0x4e92c2da
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x210e822c
mov ecx, 0x89247579
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xcc18b813
jmp 0x404981
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xf0df0bc3
mov ecx, 0x7d314f95
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov edx, dword [esi + 0x20]
mov bl, byte [esi + 0x27]
push eax
mov eax, esp
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x48], ecx
push eax
mov ecx, esp
mov dword [esi + 0x18], ecx
push eax
mov ecx, esp
mov dword [esi + 0x4c], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x50], ecx
sub esp, 0x18
mov ecx, esp
mov dword [esi + 0x54], ecx
push eax
mov ecx, esp
mov dword [esi + 0x58], ecx
and bl, 1
mov ecx, dword [esi + 0x30]
mov byte [ecx], bl
mov ecx, dword [esi + 0x34]
mov dword [ecx], edx
mov ecx, dword [esi + 0x34]
mov ecx, dword [esi + 0x38]
mov dword [ecx], 0xd72
mov ecx, dword [esi + 0x3c]
vmovsd xmm0, qword [0x4361e0]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x40]
vmovsd xmm0, qword [0x4361d8]
vmovsd qword [ecx], xmm0
mov ecx, dword [esi + 0x44]
mov byte [ecx], 1
mov byte [eax], 1
mov ecx, dword [esi + 0x48]
lea eax, str.baxiokzrcdepaozxdvrotbppggcgglsccjvldsmfdruquvxrdsxdhgsdruljuxiwzxmqbontnczeqfjfcinzciimdcnzmpfym
sub esp, 4
mov dword [esp], eax
call fcn.0041d780
mov eax, dword [esi + 0x18]
mov dword [eax], 0x5af
mov eax, dword [esi + 0x4c]
mov dword [eax], 0x5c
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
mov edx, eax
add edx, 0x9f92b0ba
sub edx, 1
sub edx, 0x9f92b0ba
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xf0df0bc3
mov ecx, 0xbc245ae8
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xffeda1b0
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
sub edx, 0x9aceef78
sub edx, 1
add edx, 0x9aceef78
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x9b9b83d8
mov ecx, 0x6d28db8f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov dword [esi + 0x5c], eax
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
mov edx, eax
add edx, 0x2ff0da27
sub edx, 1
sub edx, 0x2ff0da27
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x9b9b83d8
mov ecx, 0xec64a012
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0x9fa11554
jmp 0x404981
mov eax, dword [esi + 0x5c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x63], al
mov dword [esi + 0x28], 0x585b16d0
jmp 0x404981
mov dl, byte [esi + 0x63]
mov eax, 0xff921a95
mov ecx, 0x51574d7a
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xff9cb9d6
mov ecx, 0xef94649
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xff9cb9d6
mov ecx, 0x579d7bbd
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xca1ea20c
jmp 0x404981
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
mov edx, eax
sub edx, 0xa6f11ad
sub edx, 1
add edx, 0xa6f11ad
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x93773bd3
mov ecx, 0x770fa216
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
sub eax, 0x84bb951
add eax, 0xffffffff
add eax, 0x84bb951
mov dword [esi + 0x64], eax
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
add edx, 0xfb1ea2af
sub edx, 1
sub edx, 0xfb1ea2af
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x93773bd3
mov ecx, 0xcfdc359f
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xca4e8ffe
jmp 0x404981
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x64]
mov dword [eax], ecx
mov dword [esi + 0x28], 0xa753ab8f
jmp 0x404981
mov dword [esi + 0x28], 0xffeda1b0
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
sub edx, 0x8a1b4ce8
sub edx, 1
add edx, 0x8a1b4ce8
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xb8b357ce
mov ecx, 0xfec86d66
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov ecx, dword [esi + 0x50]
lea eax, str.baxiokzrcdepaozxdvrotbppggcgglsccjvldsmfdruquvxrdsxdhgsdruljuxiwzxmqbontnczeqfjfcinzciimdcnzmpfym
sub esp, 4
mov dword [esp], eax
call fcn.0041d780
mov ecx, dword [esi + 0x54]
lea eax, str.baxiokzrcdepaozxdvrotbppggcgglsccjvldsmfdruquvxrdsxdhgsdruljuxiwzxmqbontnczeqfjfcinzciimdcnzmpfym
sub esp, 4
mov dword [esp], eax
call fcn.0041d780
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041d850
add esp, 8
and al, 1
mov byte [esi + 0x6b], al
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb8b357ce
mov ecx, 0xe61b5974
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xdce768cc
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
add edx, 0x25036a24
sub edx, 1
sub edx, 0x25036a24
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x133fb300
mov ecx, 0x2d65ae9e
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov ecx, dword [esi + 0x54]
call fcn.0041d710
mov ecx, dword [esi + 0x50]
call fcn.0041d710
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
mov edx, eax
sub edx, 0xa50e999c
sub edx, 1
add edx, 0xa50e999c
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x133fb300
mov ecx, 0xc391f283
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xeb5b5855
jmp 0x404981
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
mov edx, eax
sub edx, 0xea2cb8
sub edx, 1
add edx, 0xea2cb8
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0xb2394ef7
mov ecx, 0xbc375073
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
add edx, 0x2b63254
sub edx, 1
sub edx, 0x2b63254
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0xb2394ef7
mov ecx, 0x684083a4
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dl, byte [esi + 0x6b]
mov eax, 0x9f7fea69
mov ecx, 0x4dd997f2
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
mov edx, ecx
sub edx, 0xb5b6932b
sub edx, 1
add edx, 0xb5b6932b
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x53c6a149
mov ecx, 0x850ed627
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov eax, dword [esi + 0x58]
mov dword [eax], 0x2c
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x53c6a149
mov ecx, 0xf508518c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0x6ebe163e
jmp 0x404981
mov dword [esi + 0x28], 0x2c16425a
jmp 0x404981
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
mov dword [esi + 0x6c], eax
mov dword [esi + 0x28], 0x323e3a10
jmp 0x404981
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 1
mov dl, al
and dl, 0xff
and bl, cl
mov ch, ah
and ch, 0xff
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 1
and al, cl
or dl, al
mov eax, 0x5831a532
mov ecx, 0x38eb4207
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov eax, dword [esi + 0x6c]
cmp eax, 0
setg al
and al, 1
mov byte [esi + 0x73], al
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x5831a532
mov ecx, 0x8a6edf04
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dl, byte [esi + 0x73]
mov eax, 0xc5ae241d
mov ecx, 0x75605b6b
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0xbe762cf3
jmp 0x404981
mov eax, dword [esi + 0x58]
mov eax, dword [eax]
xor ecx, ecx
sub ecx, 0xffffffff
sub eax, ecx
mov dword [esi + 0x74], eax
mov dword [esi + 0x28], 0xb3f24a54
jmp 0x404981
mov eax, dword [esi + 0x58]
mov ecx, dword [esi + 0x74]
mov dword [eax], ecx
mov dword [esi + 0x28], 0x2c16425a
jmp 0x404981
mov dword [esi + 0x28], 0x9f7fea69
jmp 0x404981
mov eax, dword [0x43f5e4]
mov ecx, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, eax
add edx, edi
imul eax, edx
and eax, 1
cmp eax, 0
sete al
cmp ecx, 0xa
setl cl
mov dl, al
and dl, cl
xor al, cl
or dl, al
mov eax, 0x6cf2083d
mov ecx, 0xe6bc9d16
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov ecx, dword [esi + 0x48]
call fcn.0041d710
mov ecx, dword [0x43f5e4]
mov eax, dword [0x43f5e0]
xor edi, edi
sub edi, 1
mov edx, ecx
add edx, edi
imul ecx, edx
and ecx, 1
cmp ecx, 0
sete bl
cmp eax, 0xa
setl dh
mov al, bl
xor al, 0xff
mov ah, dh
xor ah, 0xff
mov cl, 1
xor cl, 0
mov dl, al
and dl, 0
and bl, cl
mov ch, ah
and ch, 0
and dh, cl
or dl, bl
or ch, dh
xor dl, ch
or al, ah
xor al, 0xff
or cl, 0
and al, cl
or dl, al
mov eax, 0x6cf2083d
mov ecx, 0x504d2e4c
test dl, 1
cmovne eax, ecx
mov dword [esi + 0x28], eax
jmp 0x404981
mov dword [esi + 0x28], 0x6f8a08f
jmp 0x404981
fld dword [0x4361e8]
fstp xword [esi + 0xc]
mov ecx, dword [esi + 0x78]
xor ecx, ebp
call fcn.004272e0
fld xword [esi + 0xc]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
mov dword [esi + 0x28], 0x9a3af2b3
jmp 0x404981
mov dword [esi + 0x28], 0xfc2196a8
jmp 0x404981
mov edi, dword [esi + 0x20]
mov bl, byte [esi + 0x27]
push eax
mov eax, esp
sub esp, 0x18
mov ecx, esp
push eax
mov edx, esp
mov dword [esi + 4], edx
push eax
mov edx, esp
mov dword [esi + 8], edx
and bl, 1
mov edx, dword [esi + 0x30]
mov byte [edx], bl
mov edx, dword [esi + 0x34]
mov dword [edx], edi
mov edx, dword [esi + 0x34]
mov edx, dword [esi + 0x38]
mov dword [edx], 0xd72
mov edx, dword [esi + 0x3c]
vmovsd xmm0, qword [0x4361e0]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x40]
vmovsd xmm0, qword [0x4361d8]
vmovsd qword [edx], xmm0
mov edx, dword [esi + 0x44]
mov byte [edx], 1
mov byte [eax], 1
lea eax, str.baxiokzrcdepaozxdvrotbppggcgglsccjvldsmfdruquvxrdsxdhgsdruljuxiwzxmqbontnczeqfjfcinzciimdcnzmpfym
sub esp, 4
mov dword [esp], eax
call fcn.0041d780
mov ecx, dword [esi + 4]
mov eax, dword [esi + 8]
mov dword [ecx], 0x5af
mov dword [eax], 0x5c
mov dword [esi + 0x28], 0x7d314f95
jmp 0x404981
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x28], 0x6d28db8f
jmp 0x404981
mov dword [esi + 0x28], 0xef94649
jmp 0x404981
mov eax, dword [esi + 0x4c]
mov dword [esi + 0x28], 0x770fa216
jmp 0x404981
mov ecx, dword [esi + 0x50]
lea eax, str.baxiokzrcdepaozxdvrotbppggcgglsccjvldsmfdruquvxrdsxdhgsdruljuxiwzxmqbontnczeqfjfcinzciimdcnzmpfym
sub esp, 4
mov dword [esp], eax
call fcn.0041d780
mov ecx, dword [esi + 0x54]
lea eax, str.baxiokzrcdepaozxdvrotbppggcgglsccjvldsmfdruquvxrdsxdhgsdruljuxiwzxmqbontnczeqfjfcinzciimdcnzmpfym
sub esp, 4
mov dword [esp], eax
call fcn.0041d780
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0041d850
add esp, 8
mov dword [esi + 0x28], 0xfec86d66
jmp 0x404981
mov ecx, dword [esi + 0x54]
call fcn.0041d710
mov ecx, dword [esi + 0x50]
call fcn.0041d710
mov dword [esi + 0x28], 0x2d65ae9e
jmp 0x404981
mov dword [esi + 0x28], 0xbc375073
jmp 0x404981
mov eax, dword [esi + 0x58]
mov dword [eax], 0x2c
mov dword [esi + 0x28], 0x850ed627
jmp 0x404981
mov eax, dword [esi + 0x6c]
mov dword [esi + 0x28], 0x38eb4207
jmp 0x404981
mov ecx, dword [esi + 0x48]
call fcn.0041d710
mov dword [esi + 0x28], 0xe6bc9d16
jmp 0x4038a4