Function at 0x67275b80
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea eax, [ebp - 0x47f]
sub esp, 0x4ac
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], 0x28
mov dword [esp], str.ICU_PLUGINS
mov byte [ebp - 0x480], 0
mov dword [ebp - 0x454], 0
mov byte [ebp - 0x47f], 0
call sym._getenv
mov edx, dword [ebp + 8]
mov ebx, dword [edx]
test ebx, ebx
jle 0x67275c00
cmp byte [ebp - 0x480], 0
jne 0x67275be0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp - 0x488]
mov dword [esp], eax
call sym.icuuc54.dll_uprv_free_54
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
test eax, eax
je 0x67275c30
mov ecx, dword [ebp + 8]
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x488]
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp + 8]
sub esp, 0xc
mov ecx, dword [eax]
test ecx, ecx
jg 0x67275bcf
lea esi, [esi]
mov eax, dword [ebp - 0x454]
test eax, eax
je 0x67275d60
mov ecx, dword [ebp + 8]
mov dword [esp + 4], eax
lea edx, [ebp - 0x447]
mov eax, dword [ebp - 0x488]
mov dword [ebp - 0x44c], 0x28
mov dword [ebp - 0x450], edx
mov byte [ebp - 0x448], 0
mov dword [esp + 8], ecx
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x41c], 0
mov dword [esp], eax
mov byte [ebp - 0x447], 0
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp + 8]
sub esp, 0xc
lea ecx, [ebp - 0x450]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x672d8a0e
mov dword [esp + 8], eax
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp + 8]
sub esp, 0xc
lea ecx, [ebp - 0x450]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.icuplugins
mov dword [esp + 8], eax
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp + 8]
sub esp, 0xc
lea ecx, [ebp - 0x450]
mov dword [esp + 4], 0xffffffff
mov dword [esp], 0x672d8a1b
mov dword [esp + 8], eax
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp + 8]
sub esp, 0xc
lea ecx, [ebp - 0x450]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str..txt
mov dword [esp + 8], eax
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp + 8]
sub esp, 0xc
mov edx, dword [eax]
test edx, edx
jle 0x67275d47
cmp byte [ebp - 0x448], 0
je 0x67275bcf
mov eax, dword [ebp - 0x450]
mov dword [esp], eax
call sym.icuuc54.dll_uprv_free_54
jmp 0x67275bcf
cmp dword [ebp - 0x41c], 0x7ff
jbe 0x67275f43
mov dword [eax], 0xf
jmp 0x67275d27
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x488]
mov dword [esp + 4], 0xffffffff
mov dword [esp], str.d:_dev_icu_54_1_mingw_builds_4.9.2_32_lib_icu
mov dword [esp + 8], eax
call method.icu_54::CharString.append_char_const__int__UErrorCode_
mov eax, dword [ebp - 0x454]
sub esp, 0xc
test eax, eax
jne 0x67275c3e
call sym.icuuc54.dll_cmemory_inUse_54
cmp al, 1
mov eax, dword [ebp + 8]
sbb ecx, ecx
add ecx, 3
mov edx, dword [eax]
test edx, edx
jle 0x67275dc0
mov dword [esp + 4], sym.uplug_cleanup__
mov dword [esp], 0
call sym.icuuc54.dll_ucln_registerCleanup_54
jmp 0x67275bcf
mov eax, dword [0x6730e080]
test eax, eax
mov edx, eax
jle 0x67275da7
mov ebx, 0x6730e0c0
xor edi, edi
mov esi, ebx
jmp 0x67275ded
add edi, 1
add esi, 0x1b0
cmp edi, eax
jge 0x67275e30
cmp byte [esi + 0x1a8], 0
mov dword [ebp - 0x450], 0
je 0x67275de0
cmp dword [esi + 0x1a4], 2
jne 0x67275de0
cmp ecx, 3
jne 0x67275ecf
mov dword [esi + 0x1ac], 0x10500
mov byte [esi + 0x1a8], 0
mov edx, eax
jmp 0x67275de0
test eax, eax
jle 0x67275da7
xor esi, esi
jmp 0x67275e62
mov dword [ebx + 0x1ac], 0x10501
mov byte [ebx + 0x1a8], 0
add esi, 1
add ebx, 0x1b0
cmp esi, edx
jge 0x67275da7
cmp byte [ebx + 0x1a8], 0
mov dword [ebp - 0x418], 0
je 0x67275e51
mov eax, dword [ebx + 0x1a4]
test eax, eax
je 0x67275e40
cmp eax, 1
je 0x67275ec0
jle 0x67275e4a
lea eax, [ebp - 0x418]
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 8], eax
call dword [ebx]
cmp eax, 0x54762486
je 0x672761a2
mov dword [ebx + 0x1ac], 5
mov edx, dword [0x6730e080]
jmp 0x67275e4a
mov dword [ebx + 0x1ac], 5
jmp 0x67275e4a
lea eax, [ebp - 0x450]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call dword [esi]
cmp eax, 0x54762486
je 0x67275ef7
mov dword [ebp - 0x450], 5
mov eax, dword [ebp - 0x450]
mov byte [esi + 0x1a8], 0
test eax, eax
jle 0x67275f12
mov dword [esi + 0x1ac], 5
call sym.icuuc54.dll_cmemory_inUse_54
test al, al
jne 0x67275f2a
mov ecx, 2
mov eax, dword [0x6730e080]
jmp 0x67275e1c
mov dword [esi + 0x1ac], 0xffffff88
mov ecx, 3
mov eax, dword [0x6730e080]
jmp 0x67275e1c
mov esi, dword [ebp - 0x450]
mov dword [esp + 8], 0x800
mov dword [esp], 0x6730d880
mov dword [esp + 4], esi
call sym._strncpy
mov dword [esp + 4], 0x672d8a23
mov dword [esp], esi
call sym._fopen
test eax, eax
mov dword [ebp - 0x49c], eax
mov dword [ebp - 0x4a4], 0
mov esi, dword [sym.imp.msvcrt.dll_isspace]
je 0x67276182
nop
mov eax, dword [ebp - 0x49c]
mov dword [esp + 4], 0x3ff
mov dword [esp + 8], eax
lea eax, [ebp - 0x418]
mov dword [esp], eax
call sym._fgets
test eax, eax
je 0x67276174
movzx ebx, byte [ebp - 0x418]
cmp bl, 0x23
je 0x67275f90
test bl, bl
lea edi, [ebp - 0x418]
jne 0x67275fda
jmp 0x67275f90
add edi, 1
movzx ebx, byte [edi]
test bl, bl
je 0x67275f90
movsx eax, bl
mov dword [esp], eax
call esi
test eax, eax
jne 0x67275fd0
cmp bl, 0x23
mov dword [ebp - 0x4a0], edi
je 0x67275f90
test bl, bl
je 0x67275f90
movzx eax, byte [edi]
test al, al
mov ebx, eax
jne 0x6727600a
jmp 0x67275f90
add edi, 1
movzx ebx, byte [edi]
test bl, bl
je 0x67275f90
movsx eax, bl
mov dword [esp], eax
call esi
test eax, eax
je 0x67276000
cmp bl, 0x23
je 0x67275f90
movzx edx, byte [edi + 1]
lea eax, [edi + 1]
mov byte [edi], 0
mov edi, eax
test dl, dl
mov ebx, edx
jne 0x67276050
jmp 0x67275f90
add eax, 1
movzx ebx, byte [eax]
mov edi, eax
test bl, bl
je 0x67275f90
movsx eax, bl
mov dword [esp], eax
call esi
test eax, eax
mov eax, edi
jne 0x67276040
cmp bl, 0x23
mov dword [ebp - 0x4a8], edi
je 0x67275f90
movsx eax, byte [edi]
test al, al
jne 0x67276092
jmp 0x67276161
mov eax, edi
add eax, 1
mov edi, eax
movsx eax, byte [eax]
test al, al
je 0x67276161
mov dword [esp], eax
call esi
test eax, eax
je 0x67276080
movsx eax, byte [edi + 1]
lea edx, [edi + 1]
mov byte [edi], 0
mov ebx, edx
test al, al
jne 0x672760be
jmp 0x67276161
add ebx, 1
movsx eax, byte [ebx]
test al, al
je 0x67276161
mov dword [esp], eax
call esi
test eax, eax
jne 0x672760b0
mov dword [ebp - 0x4a4], ebx
mov eax, dword [ebp - 0x4a4]
cmp byte [eax], 0
je 0x672760f0
mov edi, eax
mov dword [esp], eax
call sym._strlen
add eax, edi
mov ecx, edi
mov edi, eax
cmp edi, ecx
ja 0x67276140
lea esi, [esi]
lea eax, [ebp - 0x48c]
mov ecx, dword [ebp - 0x4a4]
mov edx, dword [ebp - 0x4a8]
mov dword [ebp - 0x48c], 0
mov dword [esp], eax
mov eax, dword [ebp - 0x4a0]
call sym.uplug_initPlugFromLibrary_char_const__char_const__char_const__UErrorCode___clone_.part.7_
mov eax, dword [ebp - 0x48c]
test eax, eax
jle 0x67275f90
mov ecx, dword [ebp + 8]
mov ebx, dword [ecx]
test ebx, ebx
jg 0x67275f90
mov dword [ecx], eax
jmp 0x67275f90
movsx eax, byte [edi - 1]
mov dword [esp], eax
call esi
test eax, eax
je 0x672760f0
mov eax, edi
sub eax, 1
cmp eax, dword [ebp - 0x4a4]
mov byte [eax], 0
mov edi, eax
jne 0x67276140
jmp 0x672760f0
mov edi, dword [ebp - 0x4a4]
test edi, edi
jne 0x672760cd
jmp 0x672760f0
mov eax, dword [ebp - 0x49c]
mov dword [esp], eax
call sym._fclose
cmp byte [ebp - 0x448], 0
je 0x67275d92
mov eax, dword [ebp - 0x450]
mov dword [esp], eax
call sym.icuuc54.dll_uprv_free_54
jmp 0x67275d92
cmp dword [ebp - 0x418], 0
mov byte [ebx + 0x1a8], 0
jg 0x67275ea8
jmp 0x67275eb2