Function at 0x542660
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x420
push esi
cmp dword [0x5d2724], 0
je 0x542692
push 0x5d9560
push 0x400
call dword [0x5dc748]
push 0
push 0x5d9560
call dword [0x5df4b8]
jmp 0x5426b4
push 0x400
push 0x5d9560
call dword [0x5d9978]
push 0x5ba318
push 0x5d9560
call fcn.0054fd20
add esp, 8
cmp dword [0x581d14], 0
je 0x5426e6
push 0x5d9560
mov eax, dword [0x5d7264]
push eax
push 0x5ba2c8
push 0x5d4900
call fcn.0054f465
add esp, 0x10
push 0x5d4900
push 0
call fcn.005297a0
cmp dword [0x5d9960], 1
jne 0x542bf3
push 0x5a33e8
call fcn.0054cf90
mov dword [ebp - 0x414], eax
push 0x5d9560
lea ecx, [ebp - 0x410]
push ecx
call fcn.0054fd10
add esp, 8
mov edx, dword [0x5a33ec]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.0054fd20
add esp, 8
lea ecx, [ebp - 0x410]
push ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.0054cf60
mov dword [ebp - 0x10], eax
push 2
call fcn.0054f5a1
add esp, 4
mov dword [0x5da29c], eax
mov eax, dword [0x5da29c]
mov word [eax], 0
push 9
push 0
push 0x5d3780
call fcn.0054f4e0
add esp, 0xc
mov dword [ebp - 8], 0x5a33f4
mov ecx, dword [0x5a33f0]
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], 0
jmp 0x54278f
mov edx, dword [ebp - 0xc]
add edx, 1
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 4]
sub eax, 1
cmp dword [ebp - 0xc], eax
jge 0x542834
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov al, byte [ecx]
xor al, byte [edx + 1]
mov ecx, dword [ebp - 8]
add ecx, dword [ebp - 0xc]
mov byte [ecx], al
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x5da29c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x5da29c]
mov word [eax], dx
jmp 0x542786
mov ecx, dword [0x55d554]
xor ecx, dword [ebp - 4]
mov dword [0x55d554], ecx
mov dword [0x5d3100], 0
jmp 0x54285e
mov edx, dword [0x5d3100]
add edx, 1
mov dword [0x5d3100], edx
cmp dword [0x5d3100], 9
jge 0x54288b
mov eax, dword [0x5d3100]
mov ecx, dword [0x5d3100]
mov dl, byte [eax + 0x55d550]
add dl, byte [ecx + 0x5d3780]
mov eax, dword [0x5d3100]
mov byte [eax + 0x55d550], dl
jmp 0x54284f
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.0054cfe0
cmp dword [0x581d14], 0
je 0x5428e8
cmp dword [ebp - 0x10], 0
je 0x5428b2
mov dword [ebp - 0x418], 0x5ba2c4
jmp 0x5428bc
mov dword [ebp - 0x418], 0x5ba2bc
mov edx, dword [ebp - 0x418]
push edx
lea eax, [ebp - 0x410]
push eax
push 0x5ba25c
push 0x5d4900
call fcn.0054f465
add esp, 0x10
push 0x5d4900
push 0
call fcn.005297a0
push 0x59e608
call fcn.0054cf90
mov dword [ebp - 0x414], eax
push 0x5d9560
lea ecx, [ebp - 0x410]
push ecx
call fcn.0054fd10
add esp, 8
mov edx, dword [0x59e60c]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.0054fd20
add esp, 8
lea ecx, [ebp - 0x410]
push ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.0054cf60
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0x59e614
mov eax, dword [0x59e610]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
jmp 0x542959
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jge 0x5429de
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x5da29c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x5da29c]
mov word [eax], dx
jmp 0x542950
mov ecx, dword [0x55d552]
xor ecx, dword [ebp - 4]
mov dword [0x55d552], ecx
mov dword [0x5d3100], 0
jmp 0x542a08
mov edx, dword [0x5d3100]
add edx, 1
mov dword [0x5d3100], edx
cmp dword [0x5d3100], 9
jge 0x542a35
mov eax, dword [0x5d3100]
mov ecx, dword [0x5d3100]
mov dl, byte [eax + 0x55d550]
xor dl, byte [ecx + 0x5d3780]
mov eax, dword [0x5d3100]
mov byte [eax + 0x55d550], dl
jmp 0x5429f9
mov ecx, dword [ebp - 0x414]
push ecx
call fcn.0054cfe0
cmp dword [0x581d14], 0
je 0x542a92
cmp dword [ebp - 0x10], 0
je 0x542a5c
mov dword [ebp - 0x41c], 0x5ba2c4
jmp 0x542a66
mov dword [ebp - 0x41c], 0x5ba2bc
mov edx, dword [ebp - 0x41c]
push edx
lea eax, [ebp - 0x410]
push eax
push 0x5ba25c
push 0x5d4900
call fcn.0054f465
add esp, 0x10
push 0x5d4900
push 0
call fcn.005297a0
push 0x5a6318
call fcn.0054cf90
mov dword [ebp - 0x414], eax
push 0x5d9560
lea ecx, [ebp - 0x410]
push ecx
call fcn.0054fd10
add esp, 8
mov edx, dword [0x5a631c]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.0054fd20
add esp, 8
lea ecx, [ebp - 0x410]
push ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.0054cf60
mov dword [ebp - 0x10], eax
mov dword [ebp - 8], 0x5a6324
mov eax, dword [0x5a6320]
mov dword [ebp - 4], eax
mov dword [ebp - 0xc], 0
jmp 0x542b03
mov ecx, dword [ebp - 0xc]
add ecx, 1
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0xc]
cmp edx, dword [ebp - 4]
jge 0x542b88
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x5da29c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x5da29c]
mov word [eax], dx
jmp 0x542afa
mov ecx, dword [ebp - 4]
mov dword [0x5d6090], ecx
mov edx, dword [ebp - 0x414]
push edx
call fcn.0054cfe0
cmp dword [0x581d14], 0
je 0x542bee
cmp dword [ebp - 0x10], 0
je 0x542bb8
mov dword [ebp - 0x420], 0x5ba2c4
jmp 0x542bc2
mov dword [ebp - 0x420], 0x5ba2bc
mov eax, dword [ebp - 0x420]
push eax
lea ecx, [ebp - 0x410]
push ecx
push 0x5ba25c
push 0x5d4900
call fcn.0054f465
add esp, 0x10
push 0x5d4900
push 0
call fcn.005297a0
jmp 0x54332e
push 1
push 0
push 0
mov edx, dword [0x5d6190]
push edx
call dword [0x5d9554]
mov dword [0x5da1d4], eax
mov dword [0x5d30fc], 0
jmp 0x542c24
mov eax, dword [0x5d30fc]
add eax, 1
mov dword [0x5d30fc], eax
mov ecx, dword [0x5d30fc]
cmp ecx, dword [0x5d7264]
jge 0x543321
push 0
push 0x5d2f64
push 0x30
push 0x5d94c0
mov edx, dword [0x5d6190]
push edx
call dword [0x5d841c]
push 1
push 0
push 0
mov eax, dword [0x5d6190]
push eax
call dword [0x5d9554]
mov dword [0x5da1d4], eax
push 0x5d9560
push 0x5d6d40
call fcn.0054fd10
add esp, 8
push 0x5d94e0
push 0x5d6d40
call fcn.0054fd20
add esp, 8
push 0x100
push 0x5d6d40
call dword [0x5d48e4]
push 0
push 0
push 2
push 0
push 3
push 0xc0000000
push 0x5d6d40
call dword [0x5db70c]
mov dword [0x5db714], eax
cmp dword [0x5db714], 0xffffffff
jne 0x542d70
mov dword [0x5d735c], 0
cmp dword [0x581d14], 0
je 0x542cfe
push 0x5d6d40
push 0x5ba220
push 0x5d4900
call fcn.0054f465
add esp, 0xc
push 0x5d4900
push 3
call fcn.005297a0
push 0
push 0
push 3
push 0
push 0
push Ordinal_2
push 0x5d6d40
call dword [0x5db70c]
mov dword [0x5db714], eax
cmp dword [0x5db714], 0xffffffff
jne 0x542d6e
cmp dword [0x581d14], 0
je 0x542d52
push 0x5d6d40
push 0x5ba1c4
push 0x5d4900
call fcn.0054f465
add esp, 0xc
push 0x5d4900
push 0x20
call fcn.005297a0
cmp dword [0x581d14], 0
je 0x542d67
push 0x5d2988
push 4
call fcn.005297a0
push 0
call fcn.0054f04e
jmp 0x542d7a
mov dword [0x5d735c], 1
mov ecx, dword [0x5d94c4]
push ecx
call fcn.0054f5a1
add esp, 4
mov dword [ebp - 8], eax
cmp dword [0x5d735c], 0
je 0x542df7
push 0
push 0
mov edx, dword [0x5d94c0]
push edx
mov eax, dword [0x5d6190]
push eax
call dword [0x5d9554]
push 0
push 0x5d2f64
mov ecx, dword [0x5d94c4]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x5d6190]
push eax
call dword [0x5d841c]
push 0
push 0x5d2f64
mov ecx, dword [0x5d94c4]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x5db714]
push eax
call dword [0x5dc938]
mov ecx, dword [0x5db714]
push ecx
call dword [0x5d5964]
jmp 0x542e5e
push 0
push 0
mov edx, dword [0x5d94c0]
push edx
mov eax, dword [0x5d6190]
push eax
call dword [0x5d9554]
push 0
push 0x5d2f64
mov ecx, dword [0x5d94c4]
push ecx
mov edx, dword [ebp - 8]
push edx
mov eax, dword [0x5d6190]
push eax
call dword [0x5d841c]
push 0
push 0
push 0
mov ecx, dword [0x5db714]
push ecx
call dword [0x5d9554]
push 0
push 0x5d2f64
mov edx, dword [0x5d94c4]
push edx
mov eax, dword [ebp - 8]
push eax
mov ecx, dword [0x5db714]
push ecx
call dword [0x5d841c]
mov edx, dword [0x5db714]
push edx
call dword [0x5d2e14]
push 0xb
push 0x5ba1b8
push 0x5d8460
call fcn.0054f130
add esp, 0xc
mov dword [0x5d3160], 9
jmp 0x542e98
mov eax, dword [0x5d3160]
sub eax, 1
mov dword [0x5d3160], eax
cmp dword [0x5d3160], 0
jl 0x542ec7
mov ecx, dword [0x5d3160]
mov edx, dword [0x5d3160]
mov al, byte [ecx + 0x5d8460]
xor al, byte [edx + 0x5d8461]
mov ecx, dword [0x5d3160]
mov byte [ecx + 0x5d8460], al
jmp 0x542e8b
push 0xb
push 0x5d8460
push 0x5d8000
call fcn.0054f130
add esp, 0xc
mov byte [0x5d800b], 0
push 0x5d8000
push 0x5d94e0
call fcn.00550000
add esp, 8
test eax, eax
jne 0x54303b
push 2
call fcn.0054f5a1
add esp, 4
mov dword [0x5da29c], eax
mov edx, dword [0x5da29c]
mov word [edx], 0
push 9
push 0
push 0x5d3780
call fcn.0054f4e0
add esp, 0xc
mov dword [ebp - 0xc], 0
jmp 0x542f39
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [0x5d94c4]
sub ecx, 1
cmp dword [ebp - 0xc], ecx
jge 0x542fe1
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx]
xor cl, byte [eax + 1]
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
mov byte [edx], cl
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 3
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x5da29c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x5da29c]
mov word [eax], dx
jmp 0x542f30
mov ecx, dword [0x55d554]
xor ecx, dword [0x5d94c4]
mov dword [0x55d554], ecx
mov dword [0x5d3100], 0
jmp 0x54300e
mov edx, dword [0x5d3100]
add edx, 1
mov dword [0x5d3100], edx
cmp dword [0x5d3100], 9
jge 0x54303b
mov eax, dword [0x5d3100]
mov ecx, dword [0x5d3100]
mov dl, byte [eax + 0x55d550]
add dl, byte [ecx + 0x5d3780]
mov eax, dword [0x5d3100]
mov byte [eax + 0x55d550], dl
jmp 0x542fff
push 0xb
push 0x5ba1ac
push 0x5d8460
call fcn.0054f130
add esp, 0xc
mov dword [0x5d3160], 9
jmp 0x54306a
mov ecx, dword [0x5d3160]
sub ecx, 1
mov dword [0x5d3160], ecx
cmp dword [0x5d3160], 0
jl 0x543098
mov edx, dword [0x5d3160]
mov eax, dword [0x5d3160]
mov cl, byte [edx + 0x5d8460]
xor cl, byte [eax + 0x5d8461]
mov edx, dword [0x5d3160]
mov byte [edx + 0x5d8460], cl
jmp 0x54305b
push 0xb
push 0x5d8460
push 0x5d8000
call fcn.0054f130
add esp, 0xc
mov byte [0x5d800b], 0
push 0x5d8000
push 0x5d94e0
call fcn.00550000
add esp, 8
test eax, eax
jne 0x5431c1
mov dword [ebp - 0xc], 0
jmp 0x5430df
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [0x5d94c4]
jge 0x543167
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 4
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x5da29c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x5da29c]
mov word [eax], dx
jmp 0x5430d6
mov ecx, dword [0x55d552]
xor ecx, dword [0x5d94c4]
mov dword [0x55d552], ecx
mov dword [0x5d3100], 0
jmp 0x543194
mov edx, dword [0x5d3100]
add edx, 1
mov dword [0x5d3100], edx
cmp dword [0x5d3100], 9
jge 0x5431c1
mov eax, dword [0x5d3100]
mov ecx, dword [0x5d3100]
mov dl, byte [eax + 0x55d550]
xor dl, byte [ecx + 0x5d3780]
mov eax, dword [0x5d3100]
mov byte [eax + 0x55d550], dl
jmp 0x543185
push 0xb
push 0x5ba1a0
push 0x5d8460
call fcn.0054f130
add esp, 0xc
mov dword [0x5d3160], 9
jmp 0x5431f0
mov ecx, dword [0x5d3160]
sub ecx, 1
mov dword [0x5d3160], ecx
cmp dword [0x5d3160], 0
jl 0x54321e
mov edx, dword [0x5d3160]
mov eax, dword [0x5d3160]
mov cl, byte [edx + 0x5d8460]
xor cl, byte [eax + 0x5d8461]
mov edx, dword [0x5d3160]
mov byte [edx + 0x5d8460], cl
jmp 0x5431e1
push 0xb
push 0x5d8460
push 0x5d8000
call fcn.0054f130
add esp, 0xc
mov byte [0x5d800b], 0
push 0x5d8000
push 0x5d94e0
call fcn.00550000
add esp, 8
test eax, eax
jne 0x5432f9
mov dword [ebp - 0xc], 0
jmp 0x543265
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
cmp ecx, dword [0x5d94c4]
jge 0x5432ed
mov eax, dword [ebp - 0xc]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
add cl, byte [eax]
mov eax, dword [ebp - 0xc]
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov ecx, 9
idiv ecx
mov eax, dword [ebp - 8]
add eax, dword [ebp - 0xc]
mov cl, byte [edx + 0x5d3780]
xor cl, byte [eax]
mov eax, dword [ebp - 0xc]
add eax, 5
cdq
mov esi, 9
idiv esi
mov byte [edx + 0x5d3780], cl
mov edx, dword [ebp - 8]
add edx, dword [ebp - 0xc]
movzx ax, byte [edx]
mov ecx, dword [0x5da29c]
mov dx, word [ecx]
add dx, ax
mov eax, dword [0x5da29c]
mov word [eax], dx
jmp 0x54325c
mov ecx, dword [0x5d94c4]
mov dword [0x5d6090], ecx
mov edx, dword [ebp - 8]
push edx
call fcn.0054f538
add esp, 4
push 0
push 0
mov eax, dword [0x5da1d4]
push eax
mov ecx, dword [0x5d6190]
push ecx
call dword [0x5d9554]
jmp 0x542c17
mov edx, dword [0x5d6190]
push edx
call dword [0x5d2e14]
pop esi
mov esp, ebp
pop ebp
ret