Function at 0x414620
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x565593
mov eax, dword fs:[0]
push eax
sub esp, 0x194
mov eax, dword [0x5c524c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 4], 0
call fcn.00481b60
mov ecx, eax
push 1
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4147b1
push 0x5a
push str.d:jenkins.jenkinsworkspacemg_boxgame_boxmicrogamebox_srcmicrogameboxinst_helper.cc
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], al
call fcn.0041ca10
push 3
push 0x579ac8
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 1
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
call fcn.0041ca10
mov byte [ebp - 4], 2
call fcn.00481b60
mov edi, eax
lea ecx, [ebp - 0x1a0]
push 0x3e0
lea eax, [ebp - 0xbc]
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00406ec0
mov esi, eax
push str.MicroInstaller::GetGameConfigFromLocal
push esi
mov byte [ebp - 4], 3
call fcn.004081f0
mov edx, dword [edi]
add esp, 8
mov ecx, edi
push esi
call dword [edx + 0x1c]
lea ecx, [ebp - 0x1a0]
call fcn.0040ad10
mov edx, dword [ebp - 0x90]
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x414758
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41474e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415470
push edx
push ecx
call fcn.004727ef
add esp, 8
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
mov byte [ebp - 4], 0
cmp edx, 0x10
jb 0x4147b1
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4147a7
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415475
push edx
push ecx
call fcn.004727ef
add esp, 8
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 4
push eax
push str.FILERES
push 0xca
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call fcn.004643b0
add esp, 0x10
test eax, eax
jne 0x414bea
call fcn.00481b60
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x414bea
mov ecx, 0x5cd428
mov dword [ebp - 0x8c], 0x69004d
lea esi, [ebp - 0x8c]
mov dword [ebp - 0x88], 0x720063
mov dword [ebp - 0x84], 0x49006f
mov edx, 0x3e
mov dword [ebp - 0x80], 0x73006e
sub esi, ecx
mov dword [ebp - 0x7c], 0x610074
mov dword [ebp - 0x78], 0x6c006c
mov dword [ebp - 0x74], 0x720065
mov dword [ebp - 0x70], 0x3a003a
mov dword [ebp - 0x6c], 0x650047
mov dword [ebp - 0x68], 0x470074
mov dword [ebp - 0x64], 0x6d0061
mov dword [ebp - 0x60], 0x430065
mov dword [ebp - 0x5c], 0x6e006f
mov dword [ebp - 0x58], 0x690066
mov dword [ebp - 0x54], 0x460067
mov dword [ebp - 0x50], 0x6f0072
mov dword [ebp - 0x4c], 0x4c006d
mov dword [ebp - 0x48], 0x63006f
mov dword [ebp - 0x44], str._MnC
mov dword [ebp - 0x40], 0x720020
mov dword [ebp - 0x3c], 0x610065
mov dword [ebp - 0x38], 0x200064
mov dword [ebp - 0x34], 0x650072
mov dword [ebp - 0x30], 0x6f0073
mov dword [ebp - 0x2c], 0x720075
mov dword [ebp - 0x28], 0x650063
mov dword [ebp - 0x24], 0x660020
mov dword [ebp - 0x20], 0x690061
mov dword [ebp - 0x1c], 0x65006c
mov dword [ebp - 0x18], 0x2e0064
mov word [ebp - 0x14], ax
nop word [eax + eax]
lea eax, [edx + 0x7fffffc0]
test eax, eax
je 0x41492e
movzx eax, word [ecx + esi]
test ax, ax
je 0x41492e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x414910
lea eax, [ecx - 2]
mov dword [ebp - 0x90], 0xf
test edx, edx
push 0x5a
cmovne eax, ecx
xor ecx, ecx
mov dword [ebp - 0x94], ecx
mov byte [ebp - 0xa4], cl
push str.d:jenkins.jenkinsworkspacemg_boxgame_boxmicrogamebox_srcmicrogameboxinst_helper.cc
mov word [eax], cx
lea ecx, [ebp - 0xa4]
call fcn.0041ca10
push 3
push 0x579acc
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 5
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
call fcn.0041ca10
mov byte [ebp - 4], 6
call fcn.00481b60
push 1
push 2
lea ecx, [ebp - 0x1a0]
mov ebx, eax
call fcn.00406b20
push 0xffffffffffffffff
push 0x579b88
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 7
call fcn.0041dd70
push 0xffffffffffffffff
push 0x579b8c
lea ecx, [ebp - 0xa4]
mov edi, eax
call fcn.0041dd70
push 0x64
mov esi, eax
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.0051e3d0
add esp, 0xc
cmp esi, 0xffffffff
je 0x414adb
lea eax, [esi - 1]
cmp edi, eax
jae 0x414adb
mov eax, dword [ebp - 0x94]
lea edx, [edi + 1]
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
cmp eax, edx
jb 0x41547a
sub esi, edi
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push ecx
add eax, edx
lea ecx, [ebp - 0xd4]
push eax
call fcn.0041ca10
cmp dword [ebp - 0xc0], 0x10
lea eax, [ebp - 0xd4]
cmovae eax, dword [ebp - 0xd4]
push eax
push 0x3e8
lea eax, [ebp - 0x78]
push str.__4d___s_
push eax
call fcn.004065c0
mov edx, dword [ebp - 0xc0]
add esp, 0x10
cmp edx, 0x10
jb 0x414abe
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414ab4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41547f
push edx
push ecx
call fcn.004727ef
add esp, 8
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0xf
mov byte [ebp - 0xd4], 0
jmp 0x414af1
push 0x3e8
lea eax, [ebp - 0x78]
push str.__4d_
push eax
call fcn.004065c0
add esp, 0xc
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004081f0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004081f0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 8
push 0x5cd428
push eax
call fcn.00405440
mov eax, dword [ebx]
lea ecx, [ebp - 0x1a0]
add esp, 0x18
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x1a0]
call fcn.0040ad10
mov edx, dword [ebp - 0xa8]
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x414b91
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414b87
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415484
push edx
push ecx
call fcn.004727ef
add esp, 8
mov edx, dword [ebp - 0x90]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov byte [ebp - 4], 4
cmp edx, 0x10
jb 0x414bea
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414be0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415489
push edx
push ecx
call fcn.004727ef
add esp, 8
lea ecx, [ebp - 0x108]
call fcn.0050bde0
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 9
push eax
lea ecx, [ebp - 0x108]
call fcn.0050cae0
test al, al
jne 0x414fec
call fcn.00481b60
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x414fec
mov ecx, 0x5cd4a8
mov dword [ebp - 0x88], 0x69004d
lea esi, [ebp - 0x88]
mov dword [ebp - 0x84], 0x720063
mov dword [ebp - 0x80], 0x49006f
mov edx, 0x3b
mov dword [ebp - 0x7c], 0x73006e
sub esi, ecx
mov dword [ebp - 0x78], 0x610074
mov dword [ebp - 0x74], 0x6c006c
mov dword [ebp - 0x70], 0x720065
mov dword [ebp - 0x6c], 0x3a003a
mov dword [ebp - 0x68], 0x650047
mov dword [ebp - 0x64], 0x470074
mov dword [ebp - 0x60], 0x6d0061
mov dword [ebp - 0x5c], 0x430065
mov dword [ebp - 0x58], 0x6e006f
mov dword [ebp - 0x54], 0x690066
mov dword [ebp - 0x50], 0x460067
mov dword [ebp - 0x4c], 0x6f0072
mov dword [ebp - 0x48], 0x4c006d
mov dword [ebp - 0x44], 0x63006f
mov dword [ebp - 0x40], str._MnC
mov dword [ebp - 0x3c], 0x700020
mov dword [ebp - 0x38], 0x720061
mov dword [ebp - 0x34], 0x650073
mov dword [ebp - 0x30], 0x6a0020
mov dword [ebp - 0x2c], 0x6f0073
mov dword [ebp - 0x28], 0x20006e
mov dword [ebp - 0x24], 0x610066
mov dword [ebp - 0x20], 0x6c0069
mov dword [ebp - 0x1c], 0x640065
mov dword [ebp - 0x18], 0x2e
lea eax, [edx + 0x7fffffc3]
test eax, eax
je 0x414d30
movzx eax, word [ecx + esi]
test ax, ax
je 0x414d30
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x414d12
lea eax, [ecx - 2]
mov dword [ebp - 0xc0], 0xf
test edx, edx
push 0x5a
cmovne eax, ecx
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov byte [ebp - 0xd4], cl
push str.d:jenkins.jenkinsworkspacemg_boxgame_boxmicrogamebox_srcmicrogameboxinst_helper.cc
mov word [eax], cx
lea ecx, [ebp - 0xd4]
call fcn.0041ca10
push 3
push 0x579acc
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
call fcn.0041ca10
mov byte [ebp - 4], 0xb
call fcn.00481b60
push 1
push 2
lea ecx, [ebp - 0x1a0]
mov ebx, eax
call fcn.00406b20
push 0xffffffffffffffff
push 0x579b88
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xc
call fcn.0041dd70
push 0xffffffffffffffff
push 0x579b8c
lea ecx, [ebp - 0xd4]
mov edi, eax
call fcn.0041dd70
push 0x64
mov esi, eax
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.0051e3d0
add esp, 0xc
cmp esi, 0xffffffff
je 0x414edd
lea eax, [esi - 1]
cmp edi, eax
jae 0x414edd
mov eax, dword [ebp - 0xc4]
lea edx, [edi + 1]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
cmp eax, edx
jb 0x41548e
sub esi, edi
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xc0], 0x10
lea eax, [ebp - 0xd4]
cmovae eax, dword [ebp - 0xd4]
push ecx
add eax, edx
lea ecx, [ebp - 0xa4]
push eax
call fcn.0041ca10
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push eax
push 0x3ef
lea eax, [ebp - 0x78]
push str.__4d___s_
push eax
call fcn.004065c0
mov edx, dword [ebp - 0x90]
add esp, 0x10
cmp edx, 0x10
jb 0x414ec0
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414eb6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415493
push edx
push ecx
call fcn.004727ef
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
jmp 0x414ef3
push 0x3ef
lea eax, [ebp - 0x78]
push str.__4d_
push eax
call fcn.004065c0
add esp, 0xc
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004081f0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004081f0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0xd
push 0x5cd4a8
push eax
call fcn.00405440
mov eax, dword [ebx]
lea ecx, [ebp - 0x1a0]
add esp, 0x18
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x1a0]
call fcn.0040ad10
mov edx, dword [ebp - 0xa8]
mov byte [ebp - 4], 0xa
cmp edx, 0x10
jb 0x414f93
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414f89
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x415498
push edx
push ecx
call fcn.004727ef
add esp, 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x414fec
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x414fe2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x41549d
push edx
push ecx
call fcn.004727ef
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x108]
mov ecx, esp
push eax
call fcn.0050bca0
mov ecx, dword [ebp + 8]
call fcn.00436a60
test eax, eax
jne 0x4153e2
call fcn.00481b60
mov ecx, eax
push 2
mov edx, dword [eax]
mov eax, dword [edx + 8]
call eax
movzx eax, al
sub eax, 1
jne 0x4153e2
mov ecx, 0x5cd520
mov dword [ebp - 0x88], 0x69004d
lea esi, [ebp - 0x88]
mov dword [ebp - 0x84], 0x720063
mov dword [ebp - 0x80], 0x49006f
mov edx, 0x3c
mov dword [ebp - 0x7c], 0x73006e
sub esi, ecx
mov dword [ebp - 0x78], 0x610074
mov dword [ebp - 0x74], 0x6c006c
mov dword [ebp - 0x70], 0x720065
mov dword [ebp - 0x6c], 0x3a003a
mov dword [ebp - 0x68], 0x650047
mov dword [ebp - 0x64], 0x470074
mov dword [ebp - 0x60], 0x6d0061
mov dword [ebp - 0x5c], 0x430065
mov dword [ebp - 0x58], 0x6e006f
mov dword [ebp - 0x54], 0x690066
mov dword [ebp - 0x50], 0x460067
mov dword [ebp - 0x4c], 0x6f0072
mov dword [ebp - 0x48], 0x4c006d
mov dword [ebp - 0x44], 0x63006f
mov dword [ebp - 0x40], str._MnC
mov dword [ebp - 0x3c], 0x700020
mov dword [ebp - 0x38], 0x720061
mov dword [ebp - 0x34], 0x650073
mov dword [ebp - 0x30], 0x700020
mov dword [ebp - 0x2c], 0x720061
mov dword [ebp - 0x28], 0x650073
mov dword [ebp - 0x24], 0x630020
mov dword [ebp - 0x20], 0x6e006f
mov dword [ebp - 0x1c], 0x690066
mov dword [ebp - 0x18], 0x2e0067
mov word [ebp - 0x14], ax
lea eax, [edx + 0x7fffffc2]
test eax, eax
je 0x41512e
movzx eax, word [esi + ecx]
test ax, ax
je 0x41512e
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x415110
lea eax, [ecx - 2]
mov dword [ebp - 0xc0], 0xf
test edx, edx
push 0x5a
cmovne eax, ecx
xor ecx, ecx
mov dword [ebp - 0xc4], ecx
mov byte [ebp - 0xd4], cl
push str.d:jenkins.jenkinsworkspacemg_boxgame_boxmicrogamebox_srcmicrogameboxinst_helper.cc
mov word [eax], cx
lea ecx, [ebp - 0xd4]
call fcn.0041ca10
push 3
push 0x579acc
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0xe
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
call fcn.0041ca10
mov byte [ebp - 4], 0xf
call fcn.00481b60
push 1
push 2
lea ecx, [ebp - 0x1a0]
mov ebx, eax
call fcn.00406b20
push 0xffffffffffffffff
push 0x579b88
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x10
call fcn.0041dd70
push 0xffffffffffffffff
push 0x579b8c
lea ecx, [ebp - 0xd4]
mov edi, eax
call fcn.0041dd70
push 0x64
mov esi, eax
lea eax, [ebp - 0x78]
push 0
push eax
call fcn.0051e3d0
add esp, 0xc
cmp esi, 0xffffffff
je 0x4152db
lea eax, [esi - 1]
cmp edi, eax
jae 0x4152db
mov eax, dword [ebp - 0xc4]
lea edx, [edi + 1]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
cmp eax, edx
jb 0x4154a2
sub esi, edi
sub eax, edx
lea ecx, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
cmp dword [ebp - 0xc0], 0x10
lea eax, [ebp - 0xd4]
cmovae eax, dword [ebp - 0xd4]
push ecx
add eax, edx
lea ecx, [ebp - 0xa4]
push eax
call fcn.0041ca10
cmp dword [ebp - 0x90], 0x10
lea eax, [ebp - 0xa4]
cmovae eax, dword [ebp - 0xa4]
push eax
push 0x3f5
lea eax, [ebp - 0x78]
push str.__4d___s_
push eax
call fcn.004065c0
mov edx, dword [ebp - 0x90]
add esp, 0x10
cmp edx, 0x10
jb 0x4152be
mov ecx, dword [ebp - 0xa4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4152b4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4154a7
push edx
push ecx
call fcn.004727ef
add esp, 8
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0xf
mov byte [ebp - 0xa4], 0
jmp 0x4152f1
push 0x3f5
lea eax, [ebp - 0x78]
push str.__4d_
push eax
call fcn.004065c0
add esp, 0xc
cmp dword [ebp - 0xa8], 0x10
lea eax, [ebp - 0xbc]
cmovae eax, dword [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004081f0
lea eax, [ebp - 0x78]
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.004081f0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x11
push 0x5cd520
push eax
call fcn.00405440
mov eax, dword [ebx]
lea ecx, [ebp - 0x1a0]
add esp, 0x18
push ecx
mov ecx, ebx
call dword [eax + 0x1c]
lea ecx, [ebp - 0x1a0]
call fcn.0040ad10
mov edx, dword [ebp - 0xa8]
cmp edx, 0x10
jb 0x41538d
mov ecx, dword [ebp - 0xbc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x415383
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4154ac
push edx
push ecx
call fcn.004727ef
add esp, 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
cmp edx, 0x10
jb 0x4153e2
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4153d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4154b1
push edx
push ecx
call fcn.004727ef
add esp, 8
lea ecx, [ebp - 0x108]
call fcn.00509320
mov edx, dword [ebp - 0xd8]
cmp edx, 0x10
jb 0x415427
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x41541d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4154b6
push edx
push ecx
call fcn.004727ef
add esp, 8
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x41544f
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x41544f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x41544f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047268d
mov esp, ebp
pop ebp
ret
call fcn.005229b9
call fcn.005229b9
call fcn.0041c4c0
call fcn.005229b9
call fcn.005229b9
call fcn.005229b9
call fcn.0041c4c0
call fcn.005229b9
call fcn.005229b9
call fcn.005229b9
call fcn.0041c4c0
call fcn.005229b9
call fcn.005229b9
call fcn.005229b9
call fcn.005229b9
int3